【发布时间】:2026-02-18 23:40:01
【问题描述】:
我想在我的项目中使用UnitTest++,但编译时出现错误:
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
我的操作系统是 ArchLinux。
我需要做什么才能用 cmake 编译它?
【问题讨论】:
标签: c++ unit-testing gcc cmake