c项目由许多类和文件组成。 C++库被编译为“.a”文件。当我将.a文件作为库添加到C项目的MakeFile中时,它显示了很多错误,例如undefined reference to '__gxx_personality_v0',可能与C和C++之间的差异有关。

我正在使用gcc编译C项目。但是我在C项目中调用的任何函数都在C++库的头文件中声明为extern C

我真的很感谢您的帮助!

最佳答案

您必须使用C++链接程序,或使用g++代替gcc作为链接驱动程序。

问题是基本链接程序不会链接到C++运行时库(对于Fortran静态库也是如此)。用于编译器的C++驱动程序将为您添加这些标志。

关于c++ - 如何在C项目中链接C++库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54992389/

10-11 16:13