tornado下如何链接C的.o文件和C++的.o文件?

时间:2022-12-19 05:58:29
有个问题就是:
以前的程序都是C语言开发的,现在需要链接一个标准C++写的一个程序,并且对方只提供C++编译好的.o文件,不提供C++的源代码。请问如何把这个.o文件链接到以前用C开发的程序当中呢? 是不是要修改makefile?如果是的话,请问怎么改?

谢谢大家!

5 个解决方案

#1


没明白你的意思,是C++链接C的.o库,还是C链接C++的.o库?

#2


在机子上测试一下就知道要不要修改了.

#3


linux下的吧。程序不大的话重新链接下?

#4


把obj拷入debug文件夹,然后在文件头部加入一句:  
#pragma  comment(lib,"debug\YourObjName.obj")  

如果是C调用C++和函数,需要加上extern "C++"
如果是C++调用C的函数,需要加上extern "C"

#5


修改下makefile文件就可以了
如果在Tornado中编译  可以在Build标签页众多project_lib宏中加入即可

#1


没明白你的意思,是C++链接C的.o库,还是C链接C++的.o库?

#2


在机子上测试一下就知道要不要修改了.

#3


linux下的吧。程序不大的话重新链接下?

#4


把obj拷入debug文件夹,然后在文件头部加入一句:  
#pragma  comment(lib,"debug\YourObjName.obj")  

如果是C调用C++和函数,需要加上extern "C++"
如果是C++调用C的函数,需要加上extern "C"

#5


修改下makefile文件就可以了
如果在Tornado中编译  可以在Build标签页众多project_lib宏中加入即可