0

Windows 7 の Visual Studio 2013 でブースト ライブラリと openCV を使用しています。

それらをビルドすると、そのようなエラーがたくさんあります。

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

以前にこのようなブーストライブラリを構築しました。

 b2 toolset=msvc-12.0 variant=debug,release link=static threading=multi address-model=32 runtime-link=static

runtime-link static( /MTd ) を正しくビルドします。/MTd オプションを指定してブーストをコンパイルできない理由がわかりません。どのようにできるのか?

4

1 に答える 1

0

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 を使用して動作するはずです。

Qt でOpenCVを使用しているときに同じ問題が発生しました 。

于 2015-10-31T13:12:19.623 に答える