Qt窗口项目使用的源文件是.h/.cpp文件,它们是对应C++文件。在实际应用中,你可能有现成的.h/.c文件需要引用。那么,这些文件能够引用吗?又怎么引用呢?以下来讨论这个问题。
本例在ubuntu18中Qt5.8.0的Widgets项目编译通过,估计在CentOS和Windows系统也应该可以通过。
本例要引用的.h文件是myfile.h,一定要将它添加到项目中。项目中添加.h文件的最简便方法是,在项目的快捷菜单“添加-现有文件”来实现。
由于C、C++编译器对函数的编译处理是不完全相同,尤其对于C++来说,支持函数的重载,编译后的函数一般是以函数名和形参类型来命名的。因此,Qt调用C语言的文件时,有所区别。
宏__cplusplus主要解决C/C++混合编程问题,一般用法如下:
#ifdef __cplusplus
extern "C"{
#include "xxx.h"
#endif
#ifdef __cplusplus
}
cpp文件默认定义了该宏,另外,extern "C"的主要作用是实现C++代码能够正确调用C语言代码。
本例的关键代码如下:
1、myfile.h文件
#include <stdio.h>
void printHello();
2、myfile.c文件
#include "myfile.h"
void printHello() {
printf("Hello, World!\n");
}
3、main.cpp文件
#include "mainwindow.h"
#include <QApplication>
#ifdef __cplusplus
extern "C"{
#include "myfile.h"
#endif
#ifdef __cplusplus
}
#endif
int main(int argc, char *argv[])
{
//QApplication a(argc, argv);
//MainWindow w;
//w.show();
//return a.exec();
printHello(); // 调用C文件中实现的函数
return 0;
}
标签:__,文件,Qt,cplusplus,C++,C语言,myfile,引用,include From: https://www.cnblogs.com/it001xyz/p/18228301