这可能已经在某个地方回答了,所以如果是的话,请给我指出正确的方向-我在谷歌搜索时找不到任何符合我特定问题的内容!
我有一些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路径中。
我难住了!我在想我是不是漏掉了什么关键的东西,但我完全不知道是什么。如果您想了解更多信息,请告诉我,我会添加的。
欢呼。
我是个白痴:CppUnit文件夹不在我的库路径中。应该在运行时崩溃时意识到这一点,而不是在编译期间…哎!