• 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的安装目录,打开路径
    “QtSDKDesktopQt473gccplugins”发现里面有一个“codecs”文件夹,其下有四个文件,如下图:

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    深入Android 【一】 —— 序及开篇
    Android中ContentProvider和ContentResolver使用入门
    深入Android 【六】 —— 界面构造
    The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the ser
    Dynamic Business代码片段总结
    对文件的BuildAction以content,resource两种方式的读取
    paraview 3.12.0 windows下编译成功 小记
    百度网盘PanDownload使用Aria2满速下载
    netdata的安装与使用
    用PS给证件照排版教程
  • 原文地址:https://www.cnblogs.com/neverguveip/p/9457268.html
Copyright © 2020-2023  润新知