[英]How to build opencv and boost both in visual studio 2013? /MTd? /MDd?
我在Windows 7中將Boost庫和openCV與Visual Studio 2013一起使用。
當我構建它們時,會出現許多錯誤。
opencv_core2410d.lib(alloc.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in structure.obj
因此,我搜索了此錯誤,並將項目屬性的運行庫從/ MDd更改為/ MTd 。
之后,這些錯誤消失。 但是,還有其他類似的錯誤。
libboost_system-vc120-mt-gd-1_57.lib(error_code.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MTd_StaticDebug' in structure.obj
之前我像這樣構建了boost庫。
b2 toolset=msvc-12.0 variant=debug,release link=static threading=multi address-model=32 runtime-link=static
我正確地建立了runtime-link static( / MTd )。 我不知道為什么我不能使用/ MTd選項編譯boost。 我能怎么做?
如果您使用的是CMake,可以將以下行添加到CMakeLists.txt中
set(OpenCV_STATIC OFF)
所以它變成了
set(OpenCV_STATIC OFF)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
之后,您需要將OpenCV dll添加到路徑中。 例如:
PATH_TO_OpenCV\build\x64\vc12\bin
之后它應該使用/ MDd。
使用OpenCV和Qt時遇到了同樣的問題,這有助於我入門: https : //github.com/nickdademo/qt-opencv-multithreaded
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.