C++ 未能链接UnitTest++;
我想在项目中使用,但在编译时出错:C++ 未能链接UnitTest++;,c++,unit-testing,gcc,cmake,C++,Unit Testing,Gcc,Cmake,我想在项目中使用,但在编译时出错: CMakeFiles/BNN.dir/main.cpp.o:-1: In function `main': BNN/main.cpp:-1: error: undefined reference to `UnitTest::RunAllTests()' :-1: error: collect2: error: ld returned 1 exit status 我在网上搜索答案,并尝试了几件我现在拥有的东西: project(BNN) cmake_minim
CMakeFiles/BNN.dir/main.cpp.o:-1: In function `main':
BNN/main.cpp:-1: error: undefined reference to `UnitTest::RunAllTests()'
:-1: error: collect2: error: ld returned 1 exit status
我在网上搜索答案,并尝试了几件我现在拥有的东西:
project(BNN)
cmake_minimum_required(VERSION 2.8)
file(GLOB SRC "*.cpp" "src/*.h" "src/*.cpp")
file(GLOB DATA_FILE "*.md")
find_package(UnitTest++ REQUIRED)
include_directories(${UnitTest++_INCLUDE_DIRS})
set(LIBS ${LIBS} ${UnitTest++_LIBRARY})
add_executable(${PROJECT_NAME} ${SRC} ${DATA_FILE})
target_link_libraries(${PROJECT_NAME} ${LIBS})
我按照官方指南建立图书馆:
cd path/to/unittest-cpp/builds
cmake -G "<Choose a valid generator>" ../
cmake --build ./
sudo cmake --build ./ --target install
cd路径/to/unittest cpp/builds
cmake-G“/
cmake——构建/
sudo cmake--构建/--目标安装
我的操作系统是ArchLinux
我必须做些什么才能用cmake编译它?我通过将我的cmake文件更改为:
project(BNN)
cmake_minimum_required(VERSION 2.8)
include_directories(src)
file(GLOB SOURCES "*.cpp" "src/*.h" "src/*.cpp" "tests/*.cpp")
file(GLOB DATA_FILE "*.md")
add_executable(${PROJECT_NAME} ${SOURCES} ${DATA_FILE})
target_link_libraries(${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/../unittest-cpp/builds/libUnitTest++.a)
我已将我的cmake文件更改为:
project(BNN)
cmake_minimum_required(VERSION 2.8)
include_directories(src)
file(GLOB SOURCES "*.cpp" "src/*.h" "src/*.cpp" "tests/*.cpp")
file(GLOB DATA_FILE "*.md")
add_executable(${PROJECT_NAME} ${SOURCES} ${DATA_FILE})
target_link_libraries(${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/../unittest-cpp/builds/libUnitTest++.a)