qt跨平台的编程注意事项
前言
qt作为一个c++开源编程软件,能够实现在windows和linux系统下编译,但是在不同的操作系统依旧需要注意,以下就是更新qt跨平台的编程注意事项,持续更新…
1 linux下qt编译出现undefined reference to错误
1.1 前提条件:
- 在一个test1.cpp里面调用test2.cpp里面的一个实现函数;
- 这个函数是
extern
声明的; - 已经在test1.cpp加入test2.h头文件,并且F2能进入到此函数
test2.cpp、test2.h,不是一个class类,只是单纯的一个声明定义函数,一个实现函数。
1.2 bug:
windows下能够编译通过
linux下编译出现undefined reference to 找不到test2.cpp中调用的函数
1.3 解决办法
- 办法1: 把出错的函数在test1.h 和 test1.cpp中进行定义和实现;
- 办法2:因为在test2.h和test2.cpp使用的extern声明的函数,所以若想在test1.cpp中使用此函数,必须使用extern 再次声明此函数,即可使用此函数功能。
1.4 总结:
熟悉extern关键字的基本使用