Android Studio + conan原生代码调试
Android Studio + conan native code debugging
我最近在 Android Studio 中从 ndk-build 切换到 cmake 构建系统(我使用的是版本 3.2.1),并且由于我的 C++ 代码依赖于某些第三方库,我决定改用 conan C++ 包管理器来简化我的交叉构建。为了正确地做到这一点,我决定在小例子中尝试这个,以确保一切都能按预期工作。
我按照 Android studio integration 页面的说明进行操作,一切都编译并运行良好,但我无法从 android studio 调试本机代码。我在 C++ 代码中的断点被忽略了。
当我删除所有对libpng库的代码依赖并在CMakeLists.txt中注释掉
conan_basic_setup(TARGETS)
行我能够再次调试 C++ 代码。
我试图深入研究 "conan_basic_setup" cmake 宏,但我在里面迷路了。
我什至尝试通过更改
创建用于交叉编译的调试柯南配置文件
build_type=Release
进入
build_type=Debug
在配置文件中但没有结果。
有人有正确调试设置的收据吗?
最后我设法通过向 conan_basic_setup 宏添加参数 NO_OUTPUT_DIRS 来解决它。
所以不用
conan_basic_setup(TARGETS)
应该是
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
显然,如果没有此参数,conan 会更改 bin/ 和 lib/ 输出路径并弄乱 android 工作室的设置。
现在我可以调试我的代码了。
我最近在 Android Studio 中从 ndk-build 切换到 cmake 构建系统(我使用的是版本 3.2.1),并且由于我的 C++ 代码依赖于某些第三方库,我决定改用 conan C++ 包管理器来简化我的交叉构建。为了正确地做到这一点,我决定在小例子中尝试这个,以确保一切都能按预期工作。
我按照 Android studio integration 页面的说明进行操作,一切都编译并运行良好,但我无法从 android studio 调试本机代码。我在 C++ 代码中的断点被忽略了。
当我删除所有对libpng库的代码依赖并在CMakeLists.txt中注释掉
conan_basic_setup(TARGETS)
行我能够再次调试 C++ 代码。
我试图深入研究 "conan_basic_setup" cmake 宏,但我在里面迷路了。 我什至尝试通过更改
创建用于交叉编译的调试柯南配置文件build_type=Release
进入
build_type=Debug
在配置文件中但没有结果。
有人有正确调试设置的收据吗?
最后我设法通过向 conan_basic_setup 宏添加参数 NO_OUTPUT_DIRS 来解决它。
所以不用
conan_basic_setup(TARGETS)
应该是
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
显然,如果没有此参数,conan 会更改 bin/ 和 lib/ 输出路径并弄乱 android 工作室的设置。 现在我可以调试我的代码了。