欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

qt gui工程里用extern声明外部c函数的有关问题

更新时间: 2014-01-05 02:44:32 责任编辑: Author_N1

 

Qt GUI工程里用extern声明外部C函数的问题

--参考方法--
楼主你好 !引用外部c函数我是这么做的:
1、包含头文件
#if defined (__cplusplus)
extern "C" {
#endif
#include "xxx.h" //外部c文件的头文件
#endif
#if defined (__cplusplus)
}
#endif

2、指定链接
把外部的c文件编译成库,修改qmake出来的Makefile,指定链接库就可以了。
--参考方法--
Qt是基于C++的,C++能做的事Qt都能做
extern "C" void test();

C++带名称修饰,而C是在函数名前直接加一个下划线
--参考方法--
编译器对 c++ 和 c 的代码处理方式有区别的,编译器一般根据文件扩展名来判断是c++代码,还是c代码。
你这里的 test函数定义在 c代码中,编译的时候按c的方式编译。
你在c++代码中声明的 test函数 ,编译器会认为它是一个c++函数,所以链接的时候就会出错。

要在c++代码中使用c中的函数,必须显式地声明来告诉编译器这是一个c函数。
即 extern "C" void test();
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:44:32
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13845/
本文WWW.DOC100.NET DOC100.NET版权所有。