我正在尝试使用googletest测试C代码,但是当我的C头文件包含在C++测试文件中时,我遇到了一些问题,因为g++编译器将它们处理为C++头文件。
我尝试在extern "C" {}
内包含这些头文件,但没有成功。
是否有一种方法可以让g++编译器将这些头文件视为C头文件?
我正在尝试使用googletest测试C代码,但是当我的C头文件包含在C++测试文件中时,我遇到了一些问题,因为g++编译器将它们处理为C++头文件。
我尝试在extern "C" {}
内包含这些头文件,但没有成功。
是否有一种方法可以让g++编译器将这些头文件视为C头文件?
extern "C" 只会改变链接阶段的名称重整。如果你正在使用 C 没有与 C++ 共享的特性,则无法解决问题。
extern "C" { }
不能解决这个问题——你具体遇到了什么错误? - Seantypedef struct A *A; struct A { A a; };
会引发错误。 - carlosalbertomst