无法打开包含文件 - 'gtest.h' - 没有此类文件或目录
Cannot open include file - 'gtest.h' - No such file or directory
我正在尝试在Visual Studio中构建gtest,但似乎在获取引用和包含为项目正确指定的引用时遇到了一些问题。
错误 C1083:无法打开包含文件:"gtest/gtest.h":没有此类文件或目录 c:\gtest-1.6.0\src\gtest-all.cc
1>InitializeBuildStatus:
1> Touching "DebugGTestBuild.unsuccessfulbuild".
1>ClCompile:
1> gtest-all.cc
1>c:gtest-1.6.0srcgtest-all.cc(40): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.61
对于项目,我在项目项目页面> C/C++>附加包含目录列表中添加了对以下内容的引用:
C:\gtest-1.6.0C:\gtest-1.6.0\srcc:\gtest-1.6.0\includeC:\gtest-1.6.0\include\gtest
但我似乎缺少其他一些包含或可能没有正确设置,并希望在解决此问题方面提供一些帮助,并学习如何为将来执行此操作。
附言。 切换自
#include "gtest/gtest.h"
// The following lines pull in the real gtest *.cc files.
#include "src/gtest.cc"
#include "src/gtest-death-test.cc"
#include "src/gtest-filepath.cc"
#include "src/gtest-port.cc"
#include "src/gtest-printers.cc"
#include "src/gtest-test-part.cc"
#include "src/gtest-typed-test.cc"
自
#include <gtest/gtest.h>
// The following lines pull in the real gtest *.cc files.
#include <src/gtest.cc>
#include <src/gtest-death-test.cc>
#include <src/gtest-filepath.cc>
#include <src/gtest-port.cc>
#include <src/gtest-printers.cc>
#include <src/gtest-test-part.cc>
#include <src/gtest-typed-test.cc>
不是解决方案。我已经试过了,但它不起作用。
检查完整的编译输出,以查看这些包含目录是否被合并到编译中。它应该看起来像这样:
...
-Ic:gtest-1.6.0 -Ic:gtest-1.6.0src -Ic:gtest-1.6.0include -Ic:gtest-1.6.0includegtest
...
您是否也在这些目录中查找过该文件?不要忘记,当您将其包含在目录中时,您必须在以下目录中查找gtest.h
:
c:gtest-1.6.0gtest
c:gtest-1.6.0srcgtest
c:gtest-1.6.0includegtest
c:gtest-1.6.0includegtestgtest
(请注意gtest
子目录,因为您使用#include "gtest/gtest.h"
)
如果在"属性页"中查找文件 gtest-all.cc,则其"其他包含目录"字段应显示:
..;..include;%(AdditionalIncludeDirectories)
如果您使用了提供的 MSVC\gtest.sln,或者:
C:/gtest-1.6.0/include;C:/gtest-1.6.0;%(AdditionalIncludeDirectories)
如果使用 CMake 创建 VS 解决方案。
如果该字段为空,则它不会获取您为整个项目设置的目录,因为它们是通过 %(AdditionalIncludeDirectories)
变量应用的。 如果是这种情况,可能值得重新下载并重新开始,因为构建不再处于良好状态。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 在 Windows 10 下使用 GTest 的 CMake - 致命错误 LNK1104:无法打开文件"gtest.lib",但存在调试"gtestd.lib"
- 使用gtest时,在头文件中而不是.cpp文件中具有可测试类的利弊
- 如何将G 和GTEST集成到一个CMAKE文件中
- CMake + Qt + GTest 文件链接
- GTEST单元测试目标配置文件路径
- GTEST测试项目链接链接到其他可执行文件
- 无法打开包含文件 - 'gtest.h' - 没有此类文件或目录
- 如何编译 gtest cpp 文件
- 使用带有g++和gtest的scons制作单元测试二进制文件
- 在gtest中,如何添加库文件到可执行的测试文件
- makefile中的-I标志不会导致找到头文件(gtest/gtest.h)
- 在Makefiles中包含用于单元测试文件的gtest库:
- 生成临时文件/文件夹 c++ GTEST