c++ - 如何将 Google Test 与 premake5 链接
问题描述
我想将 Google Test ( https://github.com/google/googletest ) 与我的项目相关联。我在以下目录中添加了 gtest 作为子模块:
%{wks.location}/sengine/vendor/gtest
我在 gtest 目录中有以下 premake5 脚本:
project "gtest"
kind "StaticLib"
language "C++"
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
files
{
"googletest/include/gtest/**.h",
"googletest/src/gtest-all.cc",
}
filter "system:windows"
systemversion "latest"
cppdialect "C++17"
staticruntime "On"
filter "configurations:Debug"
runtime "Debug"
symbols "on"
filter "configurations:Release"
runtime "Release"
optimize "on"
像这样的错误揭示:
D:\dev\sengine\sengine\vendor\gtest\googletest\src\gtest-all.cc(38,10): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory
我真的不知道我应该如何更改我的脚本,例如我可以像这样包含 gtest.h:
#include <gtest/gtest.h>
解决方案
googletest 期望目录googletest/include
dir 是根包含目录。您可以推断这是因为<>
使用了(与""
项目中的相对路径相比)并且路径是相对于gtest-all.cc
.
我更多地使用 CMake 并且没有使用 premake5 的经验,但通常您需要手动指定包含目录根。
显然premake5有类似的机制:包含目录
推荐阅读
- magento - 导入数据库后无法让本地 Magento 安装工作
- javascript - 使用量角器单击重复的列表项
- reactjs - 如何在电子中嵌入pdf文件
- image - Photoshop 曝光调整中偏移滑块背后的数学原理是什么?
- c# - C# - 单元测试工厂设计模式
- python - 如何在python的用户定义函数中实现“仅位置参数”?
- reactjs - 意外的标记 = 在 React JS 类中的第一个函数上
- python - elasticsearch-py更新和创建中不同的JSON解析?
- python-3.x - Python:子类属性不粘
- javascript - 当表数据指针事件被停用时,表行()无法接收指针事件