我正在尝试使用 Intel VTune Amplifier 来分析 OpenCV 。在 this页面上,有一个建议的编译器选项列表,以获得最佳分析。
如您所见,它是调试标志(例如 -g
)和优化标志(例如 -O2
或更高)的组合,因此我们可以说它建议“带有调试信息的 Release模式”。
为了使用 VTune 分析 OpenCV,我想我也必须使用这些选项来构建它。但是,OpenCV 是使用 CMAKE 构建的,并且使用 cmake -D CMAKE_BUILD_TYPE=Release
将生成优化标志(尽管我不知道是哪些,我想 -O3
或类似标志) )没有调试选项,反之亦然,使用 cmake -D CMAKE_BUILD_TYPE=Debug
。
总之,我似乎无法同时使用 -g
和 -O2
标志构建 OpenCV,强烈建议使用 VTune 来分析应用程序。我说得对吗?
我该如何解决这个问题?
最佳答案
https://cmake.org/cmake/help/v3.0/variable/CMAKE_BUILD_TYPE.html
使用CMAKE_BUILD_TYPE=RelWithDebInfo
获取优化标志和调试信息。
关于c++ - OpenCV 在 Debug模式下构建并进行优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42040416/