有没有玩过 qt 的

2019-08-24 10:54:06 +08:00
 zhiwoda123

假如我再 windows 上面写的 qt 程序编译器是 msvc2015,然后把代码拷贝到 ubuntu 环境,在 ubuntu 环境下用 qt 编译,编译器要和 windows 的 qt 一样吗???

5049 次点击
所在节点    程序员
25 条回复
ipwx
2019-08-24 10:55:24 +08:00
用 gcc 啊,送分题,下一问
deorth
2019-08-24 11:16:55 +08:00
windows 用 mingw
firemiles
2019-08-24 12:02:06 +08:00
没楼主 linux 下装个 qt 玩下就知道了
hsuehsen
2019-08-24 12:58:26 +08:00
不同平台,用各自平台的编译器编译就可以
cjw6
2019-08-24 13:04:15 +08:00
不要用各自平台的 api,用 qt 的 api,c++跨平台特性,可以直接跨平台编译
xiri
2019-08-24 13:57:59 +08:00
ubuntu 下肯定用 gcc 啊
qt 是跨平台的,api 都是通用的,代码不需要动,装好 linux 版的 qt 直接编译就行了
不过有一些组件还是需要注意一下,比如 mingw 下没法使用 webengine (不记得名字对不对,反正就是 webview 相关的)
bayunjue
2019-08-24 14:06:56 +08:00
qmake,cmake 都可以
hhyvs111
2019-08-24 14:07:30 +08:00
不能编译,坑很多
zhiwoda123
2019-08-24 14:12:52 +08:00
@xiri 大佬我刚学 qt 不是很懂,我想问一下假如 win7 平台 qt 用的 msvc2015 编译器写的代码,ubuntu 上面 qt 用的 mingw 可以编译 win7 拷贝过来的代码吗
xiri
2019-08-24 14:24:57 +08:00
@zhiwoda123 ubuntu 下直接用 gcc 啊,mingw 是 windows 下的

至于 win 下写的代码放到 ubuntu 下编译,问题应该不是很大,qt 本来就是主打跨平台的,就算要改应该也不是啥大问题。
我用 qt 也不是很多,就自己写了一些小工具,都是换个编译器就能直接跑动的,唯一碰到的就是上面提到的有些组件 mingw 下没有点问题了
ipwx
2019-08-24 14:30:02 +08:00
@zhiwoda123 大部分代码没问题。少部分你可以用宏 #ifdef 控制一下。

https://blog.kowalczyk.info/article/j/guide-to-predefined-macros-in-c-compilers-gcc-clang-msvc-etc..html
dalieba
2019-08-24 14:35:03 +08:00
@xiri 如果把 mingw 换成 Clang 会怎样?
ipwx
2019-08-24 14:35:48 +08:00
@dalieba 其实 win 下面还是 msvc 最靠谱
GPLer
2019-08-24 14:37:57 +08:00
@dalieba 如果写法标准基本没影响,不要用 GCC 的语法糖就行。
reus
2019-08-24 15:22:32 +08:00
你自己试一下不就知道了
linux 哪来的 msvc?
4thirteen2one
2019-08-24 15:42:14 +08:00
这个......和编译器没关系吧......除非你有一些指定的依赖项只有 win 里面有。话说可以尝试一下 pyqt
ztcaoll222
2019-08-24 17:30:28 +08:00
可以尝试用下 msys2
aa514758835
2019-08-24 17:41:32 +08:00
不用吧,如果你写的代码没有依赖平台,都用 Qt 的,直接拷贝代码过去编译即可,
dixeran
2019-08-24 18:27:55 +08:00
只要你用的都是 Qt 的接口,没引用 windows.h 或者调用系统相关 API,那编译器用哪个都没关系。
wbing
2019-08-24 18:55:24 +08:00
ubuntu 下面没有 msvc2015。
只要你没用 win 下特有的 api,代码能直接编译过的。
用 msvc 编写出来的程序可以在 windows 下打开,gcc 编译出来的可以在 linux 下打开。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/594695

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX