这可能已经在某个地方得到了回答,所以如果是这样,请指出我正确的方向 - 我在谷歌搜索时找不到任何与我的具体问题相匹配的东西!
我有一些我正在尝试运行的 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 中先前设置的路径中。
我难住了!我假设有一些我完全丢失的关键,但我不知道它是什么。如果您想了解更多信息,请告诉我,我会添加。
干杯。