操作系统:带vs2017的x64 win7 sp1
我使用vcpkg安装gtest,然后尝试测试它。
我创建了一个目录,它有两个文件:
//main.cpp
#include <gtest/gtest.h>
int add(int a, int b){
return a + b;
}
TEST(addTest, add){
EXPECT_EQ(1, add(2, -1));
EXPECT_EQ(5, add(2, 3));
}
int main(int argc, char *argv[]){
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TEST();
}
# CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(test)
find_package(GTest REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main gtest)
然后我使用cmake .. "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake"
和cmake --build .
,这是日志:
C:\src\cmake-test\main.cpp(17): error C3861: “RUN_ALL_TEST”: 找不到标识符(can't find the identifier) [C:\src\cmake-test\build\main.vcxproj]
已完成生成项目“C:\src\cmake-test\build\main.vcxproj”(默认目标)的操作 - 失败。
已完成生成项目“C:\src\cmake-test\build\ALL_BUILD.vcxproj”(默认目标)的操作 - 失败。
生成失败。
“C:\src\cmake-test\build\ALL_BUILD.vcxproj”(默认目标) (1) ->“C:\src\cmake-test\build\main.vcxproj”(默认目标) (3) ->(ClCompile 目标) -> C:\src\cmake-test\main.cpp(17): error C3861: “RUN_ALL_TEST”: 找不到标识符(can't find the identifier) [C:\src\cmake-test\build\main.vcxproj]
0 个警告(warnings)
1 个错误(errors)
已用时间 00:00:01.15
似乎没有定义“RUN_ALL_TEST”。
那么如何解决这个问题?