找不到gtest.h文件googletest xcode 7.0

时间:2015-09-26 12:09:01

标签: c++ xcode macos unit-testing googletest

我正在尝试在xcode 7.0中的guide之后为我的c ++项目设置谷歌测试框架我到了最后一步Build and Go但是在网上搜索了几个小时后我无法将我的测试项目转到跑。编译器似乎找不到它需要的头文件。 main.cpp:9:10:找不到'gtest / gtest.h'文件。来源是:

#include "gtest/gtest.h"

#include "calc.hpp"

int main(int argc, const char * argv[]) {

    return 0;
}

我也试过了     #include< gtest / gtest.h> 结果相同。

3 个答案:

答案 0 :(得分:5)

有时,Xcode无法在框架中找到头文件。您需要执行其他步骤才能使其正常运行。

  • 构建设置中,使用框架的路径完成框架搜索路径,即gtest.framework。

  • 添加框架路径并用户页眉搜索路径

  • 如果Xcode找不到“gtest / internal / gtest-port-arch.h”,您可以在源文件夹“googletest / googletest / include”中找到它。将其添加到用户标题搜索路径

完成这些步骤后,gtest应该可以在Xcode 7.0中使用。

答案 1 :(得分:3)

以下是我如何使用它:

步骤:

  1. 下载源代码$ svn checkout http://googletest.googlecode.com/svn/trunk/ googletest-read-only

  2. cd到文件夹' make'在下载的源代码文件夹

  3. 运行$ make gtest.a gtest_main.a
  4. 手动将两个静态库文件复制到/ usr / local / lib并复制头文件dir' include / gtest'到/ usr / local / include。
  5. 将标题搜索路径(/ usr / local / include)和库搜索路径(/ usr / local / lib)添加到xcode的项目设置
  6. 再次添加链接器标志gtest。在"其他链接标志"下的目标设置中。添加/usr/local/lib/gtest.a

    // main.cpp
    #include <stdio.h>
    #include "gtest/gtest.h"
    #include "calc.hpp" // has function int addition(int,int);
    TEST(MyFirstTest, TestAddition) {
            EXPECT_EQ(3, addition(1, 2));
    }
    GTEST_API_ int main(int argc, char **argv) {
            printf("Running main() from gtest_main.cc\n");
            testing::InitGoogleTest(&argc, argv);
            return RUN_ALL_TESTS();
    }
    

答案 2 :(得分:0)

尝试删除DerrivedData文件夹的内容,然后重新构建。

enter image description here