这可能已经在某个地方得到了回答,所以如果是的话,请指出正确的方向 - 在google搜索时我找不到任何与我的具体问题相符的内容!
我正在尝试运行一些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中设置的路径中。
我很难过!我假设有一些我完全不知道的关键,但我不知道它是什么。如果您想了解更多信息,请告诉我,我会添加它。
干杯。
答案 0 :(得分:1)
我是个白痴:CppUnit文件夹不在我的库路径中。应该在运行时崩溃时意识到这一点,而不是在编译期间...... Doh!