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 获取优化标志和调试信息。