当前位置: 代码迷 >> QT开发 >> 新人弱问:在VS2008+QT4.7编写的程序,如何弄到LINUX上编译
  详细解决方案

新人弱问:在VS2008+QT4.7编写的程序,如何弄到LINUX上编译

热度:5   发布时间:2016-04-25 04:05:55.0
新人弱问:在VS2008+QT4.7编写的程序,怎么弄到LINUX下编译?
具体步骤是怎么样的?大牛指点一把啊,小妹谢过了


------解决方案--------------------
首先,楼主应该知晓2个平台有啥区别
不同平台下 编译器对C++的实现力度和细节是不一样的
举个最简单的例子 
对于std map的erase  
VS和gcc的处理是不同的
因此 如果你代码里使用了第三方的库 首先要考虑这些lib是否可以跨平台
如果Lib本身没有跨平台的支持 
那移植是徒劳的


其次,楼主如果有跨平台的需要,对项目的管理也要考虑进来,可以跨平台的项目管理编译工具有cmake,qmake等,但考虑到你是qt,肯定首选qmake。为此,需要学会使用qmake基于命令行进行编译。

最好,要注意编码的字符集,VS默认字符集和windows一样是GB2312(也有GBK的),但这些编码与Linux、Mac默认的编码字符集有差别,这些都是要考虑的
------解决方案--------------------
引用:
移植和你用什么编译没多大关系,我们再大的工程都是2008+Qt,所有项目都要移植linux。
加一个编译开关,将windows和linux的函数分开就好了,写一个批处理脚本,多简单的事情,非要换QtCreator?

没人说非换不可,QtCreator只是我个人的推荐

编译时间差距那么大,八成是你QtCreator和2008使用了不同的编译器
不然就是你们下的flag不一样
编译器以及你对他下的flag才是决定编译时间的关键
这个跟IDE没有多大的关系
IDE是一个集成开发环境
文件的编辑管理,编译器
make file等都帮你集中在一起
方便你进行开发,我实在不懂这和
编译时间有什么关系?

移植和你用什么编译有很大的关系
一些编译器独有的功能,flag
对标准的实现(c++11)等
可是和IDE没有什么关系

IDE和compiler
http://www.daniweb.com/software-development/cpp/threads/106995/compiler-vs-ide-is-there-a-difference-
  相关解决方案