Linux 下重新编译Windows下生成的Qt工程

原址:https://blog.csdn.net/Fanpei_moukoy/article/details/21613703

以下内容亲测通过

其实qt才是真正的跨平台,java简直太搞笑了,假跨平台。

只要在ubuntu下把qt的环境搭建好了,直接将windows下的工程文件整体考到ubuntu中,然后就像在windows上使用qt creater一样去使用它,直接编译、运行!出来的界面真美观!

 

-----------------飘逸的分割线-------------------------------------

1、    把在windows平台下,用Qt Creator创建好的工程整个文件夹拷贝到linux系统下(如果是在虚拟机下安装的linux,可以用U盘拷贝或者共享文件夹的方式)。

2、    修改文件夹及文件夹下所有文件的访问权限。首先,切换到文件夹所在的目录(我的在/home/exam下),然后再修改访问权限,命令如下:
      chmod -R 777 文件夹
假定我的文件夹叫mainWindow,那么命令为:chmod -R 777 mainWindow
如下图:

   修改访问权限后,可以用命令:ls -l mainwindow 查看修改之后文件的属性。

3、    打开Qt Creator,如下图:

点击“Open Project...”打开拷贝过来的工程mainWindow。如下图:

打开工程之后,随便打开一个工程中的头文件或者源文件,如果编辑器的顶部出现错误提示:

表明文件中含有编辑器无法识别的字符,一般是在Windows平台下输入的中文字符,你会发现文件中的中文字符全部变成了乱码。此时,编辑器无法修改文件的内容。这是因为两个系统使用的默认编码不同造成的。这时,点击上图中错误提示中的“Select Encoding”按钮(或者通过选择菜单“Edit”下的“Select Encoding”按钮),弹出一个文本编码的对话框,如下图:

选择“GB2312”,点击按钮“Reload with Encoding”根据编码重新载入文件,即可显示文件中的中文字符。

如果弹出的文本编码对话框中没有“GB2312”,说明QT Creator 默认没有加载相关的dll文件(在linux下后缀名为.so),解决方案如下:
    第一步:根据Qt Creator的安装目录,打开路径
“QtSDK\Desktop\Qt\473\gcc\plugins”发现里面有一个“codecs”文件夹,其下有四个文件,如下图:

红色框中的是路径,绿色框中的为四个编码库文件。
    第二步:把codecs整个文件夹拷贝到目录“QtSDK\QtCreator\bin”下,拷贝之后如下图:

 

红色框中的是路径,绿色框中的为拷贝来的文件夹。
   第三步:重新打开Qt Creator,打开一个文件,选择“Edit”菜单下的“Select Encoding...”,此时弹出的文本编码对话框中就已经出现了“GB2312”。

4、编译程序。
   因为在windows平台下配置的编译路径在linux中无效,所以在进行编译之前,一般要先对工程进行配置,如下图:

 

如图所示,点击左边的“Projects”按钮,即可弹出项目配置界面,可以在上面的“Edit Build configuration”中选择Debug或者Release,在下面的“Build directory”中选择新的编译路径。

路径配置完成之后,就可以对程序进行调试运行,如下图:

红色框中的是运行按钮,绿色框中的是调试按钮,点击绿色框中的按钮,开始调试运行。调试通过,程序正常运行,如下图(我的是一个文本编辑器程序):

这时会发现程序中有乱码的情况,研究发现是程序中直接使用的中文字符串没有显示出来。

解决方案是在主函数中加入相应的字库,如下所示:

添加一个头文件#include <QtextCodec>,添加了图中红框中的两行代码,再次编译运行程序,如下:

程序正常运行。嵌入式实验

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux 系统下交叉编译带 OpenGL 的 Qt,主要分为以下几个步骤: 1. 安装交叉编译工具链。 你需要先下载并安装适当的交叉编译工具链,可以从交叉编译工具链提供商的网站上下载。安装后需要将交叉编译器的路径添加到环境变量中。 2. 下载 Qt 源码。 你需要从 Qt 的官方网站上下载适合你的交叉编译工具链的 Qt 源码,并解压到本地目录。 3. 配置 Qt。 进入 Qt 源码目录,执行以下命令: ``` ./configure -prefix /path/to/install/dir -embedded arm -hostlinux-g++ -xplatform linux-arm-gnueabi-g++ -no-pch -no-gui -opensource -confirm-license ``` 其中,`/path/to/install/dir` 为你想要安装 Qt 的目录。`-embedded arm` 表示你正在为嵌入式 ARM 平台编译 Qt。`-hostlinux-g++` 表示你的编译机是 Linux,使用 GCC 编译器。`-xplatform linux-arm-gnueabi-g++` 表示目标平台是 Linux ARM,使用 GCC 编译器。`-no-pch` 表示不使用预编译头文件,加快编译速度。`-no-gui` 表示不编译 Qt GUI 模块。`-opensource` 表示使用 Qt 的开源许可证。`-confirm-license` 表示确认使用开源许可证。 4. 编译 Qt。 执行 `make` 命令开始编译 Qt。 5. 安装 Qt。 执行 `make install` 命令将 Qt 安装到指定目录。 6. 生成 Qt 应用程序。 在交叉编译工具链下,使用 qmake 工具生成 Qt 应用程序的 Makefile,然后执行 `make` 命令进行编译。在编译时需要加上 `-opengl es2` 参数,表示使用 OpenGL ES 2.0。 以上就是在 Linux 系统下交叉编译带 OpenGL 的 Qt 的步骤。注意,在编译时可能会遇到一些问题,需要根据具体情况进行调试和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值