我遇到了以下错误。基本上,我有两个测试.c文件,如何让它们独立运行?每个人都有自己的主要功能?
重复符号_main在: CMakeFiles/Tests.dir/test.c.o CMakeFiles/Tests.dir/test2.c.o
根CMakeLists.txt
cmake_minimum_required(VERSION 3.9)
project(Polymorphism)
set(CMAKE_C_STANDARD 99)
add_subdirectory(src)
add_subdirectory(test)src/CMakeLists.txt
add_library(Polymorphism person.c employee.c)
target_include_directories(Polymorphism PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})test/CMakeLists.txt
add_executable(Tests test.c test2.c)
target_link_libraries(Tests Polymorphism)测试/test.c
void main() {
// some tests
}test/test2.c
void main() {
// some tests
}发布于 2018-03-12 22:16:49
这其实是很容易解决的。CMake允许您创建多个可执行文件(它们可以有自己的主函数),还可以包含一个add_test函数,用于将这些可执行文件绑定到测试。
因此,假设您有test.c和test2.c文件,每个文件都有自己的主要功能:
add_executable(test1 test.c)
add_executable(test2 test2.c)
add_test(NAME t1 COMMAND test1)
add_test(NAME t2 COMMAND test2)现在,您可以运行命令make test或ctest,它们将注册两个单独的测试并按此方式运行。
https://stackoverflow.com/questions/48995697
复制相似问题