OpenCV 在调试模式下构建优化?
OpenCV build in debug mode with optimizations?
我正在尝试使用 Intel VTune Amplifier. In this 页面分析 OpenCV,有一个编译器选项列表建议以获得最佳分析。
如您所见,它混合了调试标志(例如 -g
)和优化标志(例如 -O2
或更高),因此我们可以说它建议 "a release mode with debugging information"。
为了使用 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
获取优化标志和调试信息。
我正在尝试使用 Intel VTune Amplifier. In this 页面分析 OpenCV,有一个编译器选项列表建议以获得最佳分析。
如您所见,它混合了调试标志(例如 -g
)和优化标志(例如 -O2
或更高),因此我们可以说它建议 "a release mode with debugging information"。
为了使用 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
获取优化标志和调试信息。