【发布时间】:2021-06-12 00:34:46
【问题描述】:
我需要调试一个段错误。我正在使用柯南 (conan build ..) 进行编译。我将此添加到 CMakeLists.txt
set(CMAKE_BUILD_TYPE "Debug")
但是,当我运行二进制文件并得到段错误时,我得到了
Segmentation fault
ERROR: conanfile.py: Error in build() method, line 15
self.run("bin/main")
ConanException: Error 139 while executing bin/main
我也在构建步骤的 conanfile.py 中尝试过这个
cmake.definitions["CMAKE_BUILD_TYPE"] = "Debug"
我应该怎么做才能获得有关我为什么会出现段错误的信息?
【问题讨论】:
-
一般来说最好避免在 CMakeLists.txt 代码中定义构建类型,比如 set(CMAKE_BUILD_TYPE "Debug")。如有必要,柯南将在工具链中定义它,或者在命令行中使用
-DCMAKE_BUILD_TYPE传递它,具体取决于生成器。对于多配置生成器,在cmake --build . --config Debug中使用相同类型进行构建很重要。一般来说,了解有关您的系统的更多信息会很有用:操作系统、编译器。
标签: c++ cmake segmentation-fault conan