QT下c和c++混编问题

发布时间:2017-7-9 7:04:06编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"QT下c和c++混编问题 ",主要涉及到QT下c和c++混编问题 方面的内容,对于QT下c和c++混编问题 感兴趣的同学可以参考一下。

Posted on 2017-07-06 09:22 谢*勇 阅读(...) 评论(...) 编辑 收藏

这些天折腾QT,在整合各种代码的时候,老司机也碰到不少问题,为了方便后查,初步总结如下:
1.新版QT中一般使用g++编译cpp文件和c文件,可以在项目中同时使用c文件和cpp文件。
后缀cpp文件g++自动识别为c++代码自动进行c++编译,后缀c文件自动识别为c代码进行c编译。这个时候必须注意在c文件中不要使用c++内容和c++的头文件

2.调用.c文件中的函数出现undefined reference to `xxxxx()'。
这是C/C++兼容问题,在C的头文件的相关函数声明添加extern "C"即可解决,例如
  #ifdef __cplusplus
  extern "C" {
  #endif
extern int test(int, int);
#ifdef __cplusplus
}
#endif

3.出现error: memory: No such file or directory #include <memory>
这是.c文件中引用c++标准的原因,可将文件后缀修改为.cpp,使用C++编译

4.出现unknown type name ‘namespace’
这是c编译c++的问题, c中没有namespace关键子,可将文件后缀修改为.cpp,使用C++编译,或者去掉该关键字


上一篇:经典编程书籍大全(网摘)
下一篇:linux history 命令 禁用history

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

最近更新

好贷网好贷款