1

これはすでにどこかで回答されている可能性があります。その場合は、正しい方向に向けてください。グーグルで特定の問題に一致するものを見つけることができませんでした。

実行しようとしている CppUnit テストがいくつかあります。

トップレベルの CMakeLists.txt には以下が含まれます。

include_directories(
    ${CPPUNIT_INC}
)
link_directories(
    ${CPPUNIT_LIB}
)

どちらも正しく設定されています: CMakeLists.txt ファイルの前の方にパスを出力しましたが、正しいパスです。

サブフォルダーには、次のものがあります。

add_executable(test-lumberjack TestLumberjack.cpp)
target_link_libraries(
    test-lumberjack
    Lumberjack
    CppUnit
    ${CMAKE_DL_LIBS}
)
INSTALL(TARGETS test-lumberjack DESTINATION ${PROJECT_OUTPUT_TEST_DIR})
ADD_TEST(NAME test-lumberjack COMMAND "${PROJECT_OUTPUT_TEST_DIR}/test-lumberjack")

ただし、テストを実行すると (ファイルを実行するか、を使用してctest -V)、通常のリンカー エラー EDIT: it's not a linker error, see answer below が表示されます

ライブラリは、最上位の CMakeLists.txt で以前に設定されたパスに確実に存在します。

私は困惑しています!完全に欠けている鍵があると思いますが、それが何であるかはわかりません。さらに詳しい情報が必要な場合はお知らせください。追加します。

乾杯。

4

1 に答える 1

1

私はばかです: CppUnit フォルダーがライブラリ パスにありませんでした。コンパイル時ではなく、実行時にクラッシュしたときにこれに気付くべきでした...おお!

于 2013-05-31T12:08:47.277 に答える