CMake RelWithDebInfo链接到Debug libs

Dže*_*nan 10 c++ linker opencv cmake

我有一个项目链接到六个库,其中包括OpenCV.
由于Release变量崩溃,而Debug工作正常(只是慢很多),我想在RelWithDebInfo配置中编译我的项目.
但是,Debug包含OpenCV库的版本而不是Release(OpenCV没有RelWithDebInfo变体).这会导致链接错误,例如:

opencv_core249d.lib(alloc.obj):错误LNK2038:检测到'RuntimeLibrary'不匹配:值'MDd_DynamicDebug'与MyProject.obj中的值'MD_DynamicRelease'不匹配

如何解决这个问题呢?

Dže*_*nan 18

解决方案:在调用之后添加到CMakeLists.txt FIND_PACKAGE(OpenCV):

set_target_properties(${OpenCV_LIBS} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
Run Code Online (Sandbox Code Playgroud)