C++ OpenCV在调试模式下构建并进行优化?
我正在尝试使用。在第页中,有一个编译器选项列表,建议您获得最佳分析 如您所见,它是调试标志(例如C++ OpenCV在调试模式下构建并进行优化?,c++,opencv,cmake,intel-vtune,intel-parallel-studio,C++,Opencv,Cmake,Intel Vtune,Intel Parallel Studio,我正在尝试使用。在第页中,有一个编译器选项列表,建议您获得最佳分析 如您所见,它是调试标志(例如-g)和优化标志(例如-O2或更高)的混合,因此我们可以说它建议“带有调试信息的发布模式” 为了使用VTune评测OpenCV,我想我也必须使用这些选项来构建它。然而,OpenCV是用CMAKE构建的,使用CMAKE-D CMAKE_BUILD_TYPE=Release将生成优化标志(虽然我不知道是哪一个,我想是-O3或类似的),而不使用调试选项,反之则使用CMAKE-D CMAKE_BUILD_TY
-g
)和优化标志(例如-O2
或更高)的混合,因此我们可以说它建议“带有调试信息的发布模式”
为了使用VTune评测OpenCV,我想我也必须使用这些选项来构建它。然而,OpenCV是用CMAKE构建的,使用CMAKE-D CMAKE_BUILD_TYPE=Release
将生成优化标志(虽然我不知道是哪一个,我想是-O3
或类似的),而不使用调试选项,反之则使用CMAKE-D CMAKE_BUILD_TYPE=Debug
总之,我似乎无法同时使用-g
和-O2
标志构建OpenCV,这两种标志都是强烈建议使用VTune评测应用程序的标志。我说得对吗
我怎样才能解决这个问题
使用
CMAKE\u BUILD\u TYPE=RelWithDebInfo
获取优化标志和调试信息。先生,您救了我一天,谢谢。这是否包括-O0
选项?因为引用:“不要使用调试构建或-O0
”make VERBOSE=1
将向您显示它运行的命令,以便您可以确切地看到使用了哪些标志-O0并不是优化,所以它看起来不像一个发布版本会有这样的功能,但只要亲自检查一下就可以了。