链接静态c++;将库转换为c库 我在C++中编写了一些代码(静态库),(我想,C兼容-得到‘外部C’等),然后我想在C应用程序中使用它。

链接静态c++;将库转换为c库 我在C++中编写了一些代码(静态库),(我想,C兼容-得到‘外部C’等),然后我想在C应用程序中使用它。,c++,static-libraries,C++,Static Libraries,运行我的C应用程序时,出现错误: undefined symbol: _ZTISt9exception c++代码是用gcc编译的,带有:-std=c++0x-lstdc++标志 然后,在obj文件上运行ar 我想符号是直接来自C++库的。当我编译我的C应用程序时,我当然会在我的Mag文件中添加我的C++ LIB,编译完成没有错误。 可能有什么问题 < p>您需要将最终的可执行文件链接到C++运行库( -LSTDC++);编译C++对象时没有影响,只链接可执行文件。< p>静态库没有链接,它

运行我的C应用程序时,出现错误:

undefined symbol: _ZTISt9exception
c++代码是用gcc编译的,带有:
-std=c++0x-lstdc++
标志

然后,在obj文件上运行ar

我想符号是直接来自C++库的。当我编译我的C应用程序时,我当然会在我的Mag文件中添加我的C++ LIB,编译完成没有错误。 可能有什么问题


<所有的帮助< /p> < p>您需要将最终的可执行文件链接到C++运行库(<代码> -LSTDC++<代码>);编译C++对象时没有影响,只链接可执行文件。

< p>静态库没有链接,它只是存档中的对象文件集合。所有文件名如
libxxx.a
都是静态库,而名为
libyyy.so
的文件都是动态库

这意味着您的库中的外部符号永远不会解析,除非您与它链接以生成可执行文件。然后您还需要您的库所需的所有库文件。

的可能副本