Microsoft Visual Studio 14 2015(AppVeyor上)でBoost.Testを使用してテストをビルドして実行しようとしています。それは常に通過し、決して投げる必要がありますので、私のテストケースは、次のように定義されています。私のようなテストのためのリンケージを設定CMakeのスクリプトでBoost.Testが異常終了しました。例外:MSVCのその他
#define BOOST_TEST_MODULE target_boost_test
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(testcase)
{
BOOST_CHECK(true);
}
:
find_package(Boost REQUIRED COMPONENTS unit_test_framework)
include_directories(${Boost_INCLUDE_DIRS})
...
add_executable(${UT_TARGET} ${UT_SOURCE})
target_link_libraries(${UT_TARGET} ${LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
テストがどのなし罰金コンパイル警告は表示されますが、実行されず、かなり不明確なエラーが発生します***Exception: Other
。
Test project C:/projects/msvc-boost-test/build
Start 1: target_boost_test
1/1 Test #1: target_boost_test ................***Exception: Other 0.08 sec
簡単に私は問題を表示するAppVeyorに必要なすべてのファイルとGitHubの上のレポや自動ビルドジョブを設定している再現します。この場合、
これは関連しているようですが、答えはありません:[mongo-cxx-driverライブラリはビルドされますが、永続的なリンクとデバッグの問題があります](https://stackoverflow.com/questions/39982310) –
矛盾したDLLバージョンビルド時とランタイム時に使用されます。たとえばあなたと確認できますか?依存関係ビューア? Linuxでは、問題はありません:https://i.imgur.com/WTNpaBg.png – sehe
@seheありがとうございました。 Linuxでも問題は発生しません。残念ながら私はWindowsマシンを持っていないだけで、AppVeyorを使ってプロジェクトのクロスプラットフォームを構築したいだけです。私はビルドアーチファクトをエクスポートし、それをLinux上で検査しようとします。 –