Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Windows上使用Eclipse进行Google测试_C++_Eclipse_Gcc_Cygwin_Googletest - Fatal编程技术网

C++ 在Windows上使用Eclipse进行Google测试

C++ 在Windows上使用Eclipse进行Google测试,c++,eclipse,gcc,cygwin,googletest,C++,Eclipse,Gcc,Cygwin,Googletest,我正在尝试用Eclipse设置google测试。 这就是我到目前为止所做的: 初始设置: 在Eclipse Helios上安装了CDT 下载并安装Cygwin 下载并提取gtest 使用默认makefile使用cygwin make构建gtest 在eclipse中: 在CygWin中创建了一个空的可执行C++项目, 在C++构建/设置/ CygWin C++编译器中添加了[GTestIdir]包含 在C++构建/Cuffy/CygWin C++链接器中添加了“[GTestdidi]”的库路径

我正在尝试用Eclipse设置google测试。 这就是我到目前为止所做的:

初始设置:

  • 在Eclipse Helios上安装了CDT
  • 下载并安装Cygwin
  • 下载并提取gtest
  • 使用默认makefile使用cygwin make构建gtest
  • 在eclipse中:

  • 在CygWin中创建了一个空的可执行C++项目,
  • 在C++构建/设置/ CygWin C++编译器中添加了[GTestIdir]包含 在C++构建/Cuffy/CygWin C++链接器中添加了“[GTestdidi]”的库路径
  • 生成器已经是GNU Make Builder
  • 编写了一些C++代码并生成Projt.
  • 我在构建项目时面临以下错误:

    构建目标:SampleCpp.exe 调用:CygWin C++链接器 g++-L/cygdrive/d/gtest-1.7.0/make-o“SampleCpp.exe”。/src/Counter.o./src/Counter_tests.o-lgtest /usr/lib/gcc/i686 pc cygwin/4.8.2/../../../../../../../../i686 pc cygwin/bin/ld:找不到-lgtest collect2:错误:ld返回1个退出状态 makefile:45:目标“SampleCpp.exe”的配方失败

    我错过了什么

    编辑1:[gtest_dir]\make包含两个.a文件- gtest.agtest\u main.a

    我也在使用EclipseHelios

    编辑2


    在我将gtest.a重命名为gtest.lib后,它工作了。这是一个在Windows上的一个库的预期命名格式吗?在Project属性中,在C/C++构建中>设置>工具设置> CygWin C++链接器>杂项>其他对象,添加$GestIddi//Gest/GestByMax。p>
    这使链接器将gtest_main.a视为目标文件的存档,而不是库。

    [gtest_dir]\make
    中包含的实际gtest库(即目标文件)?文件名是什么?Cygwin是否链接到
    liggtest.a
    gtest.lib
    ?我对此有点陌生,因此我无法理解您所说的“Cygwin链接到liggtest.a或gtest.lib”是什么意思。但是[gtest_dir]\make确实包含对象文件。我将在几个小时内更新确切的名称。在库命名方面,不同的编译器有自己的特点。例如,GCC倾向于为库
    foo
    命名
    libfoo.a
    ,而MSVC则使用
    foo.lib
    。在第3步中指定了库路径后,我认为您可能使用链接器所考虑的名称以外的名称构建了库。我有一个gtest_main.a文件,在[gtest_dir]\make…中,是否应该将其重命名为gtest.a?我现在也从Makefile编译了gtest.a。现在[gtest_dir]\make包含两个.a文件:gtest.a和gtest_main.a