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)时,我看到了通常的链接器错误 编辑:这不是链接器错误,请参阅下面的答案

该库肯定存在,在顶层 CMakeLists.txt 中先前设置的路径中。

我难住了!我假设有一些我完全丢失的关键,但我不知道它是什么。如果您想了解更多信息,请告诉我,我会添加。

干杯。

4

1 回答 1

1

我是个白痴:CppUnit 文件夹不在我的库路径中。当它在运行时崩溃时应该已经意识到这一点,而不是在编译期间...... 哦!

于 2013-05-31T12:08:47.277 回答