如何编译使用gtest和gcc编译器的项目?

时间:2019-01-22 20:32:44

标签: gcc g++ googletest

我有简单的源代码,其中包括gtest并启动测试。这是文件tests.c:

#include <gtest/gtest.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
    printf(" init GTest ");
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

我使用编译器gcc启动了构建:

    gcc -o MY_UNIT_TESTS tests.c -I/usr/include /usr/lib/libgtest.a /usr/lib/libgtest_main.a -lpthread

它因以下错误而失败:

In file included from tests.c:1:0:
/usr/include/gtest/gtest.h:54:18: fatal error: limits: No such file or directory
compilation terminated.

如果我使用编译器g ++,一切正常。我需要测试使用gcc编译器构建的库,因此我的测试也应该使用gcc进行构建。

如何使用gcc编译器构建此代码?

1 个答案:

答案 0 :(得分:0)

Google测试是用C ++编写的(您也是测试人员),因此您需要使用g ++来编译测试。您可以使用gcc构建库,也可以从C ++测试中调用C代码,但是要注意some things