当前位置: 首页 > news >正文

电脑宽带网站网站建设腾讯课堂

电脑宽带网站,网站建设腾讯课堂,网站架构企业收费标准,网站开发过程及要求问题描述 我想使用Linux x86_64主机为Windows x86_64目标交叉编译Qt库(最终也包括我的应用程序)。我觉得自己已经接近成功了,但可能对整个过程有一些基本的误解。 我从在我的Fedora机器上安装所有mingw包开始,并修改了win32-g的…
问题描述

我想使用Linux x86_64主机为Windows x86_64目标交叉编译Qt库(最终也包括我的应用程序)。我觉得自己已经接近成功了,但可能对整个过程有一些基本的误解。

我从在我的Fedora机器上安装所有mingw包开始,并修改了win32-g++的qmake.conf文件以适应我的环境。然而,我似乎在Qt的某些显而易见的配置选项上遇到了问题:-platform-xplatform。Qt文档说-platform应该是主机架构(你正在编译的机器),而-xplatform应该是你希望部署的目标平台。在我的情况下,我设置了-platform linux-g++-64-xplatform linux-win32-g++,其中linux-win32-g++是我修改过的win32-g++配置。

我的问题是,在使用这些选项执行配置后,我看到它调用了我系统的编译器而不是交叉编译器(x86_64-w64-mingw32-gcc)。如果我省略了-xplatform选项并将-platform设置为我的目标规范(linux-win32-g++),它会调用交叉编译器,但在发现一些与Unix相关的函数未定义时出错。

某次尝试的输出: Pastebin链接

问题

  1. 当从Linux主机为Windows交叉编译Qt时,本地编译器是否会被调用?也就是说,在交叉编译过程中,我们应该仅使用交叉编译器吗?我不明白为什么在指定-xplatform选项时,Qt的配置脚本会调用我系统的本地编译器。
  2. 如果我使用的是mingw交叉编译器,什么时候需要处理一个specs文件?GCC的specs文件对我来说仍然很神秘,我想知道一些相关背景是否会有所帮助。
  3. 一般来说,除了在我的qmake.conf中指定一个交叉编译器外,我还需要考虑什么?
答案整理
答案1:使用MXE进行交叉编译

跨平台编译Qt的一个简便方法是使用MXE(M cross environment)。步骤如下:

  1. 获取MXE:

    git clone https://github.com/mxe/mxe.git
    
  2. 安装构建依赖。

  3. 构建Qt及其依赖项和交叉构建工具,这大约需要一小时:

    cd mxe && make qt
    
  4. 将交叉构建工具添加到你的PATH环境变量中:

    export PATH=<mxe root>/usr/bin:$PATH
    
  5. 使用qmake生成Makefile并构建:

    <mxe root>/usr/i686-pc-mingw32/qt/bin/qmake && make
    
  6. 你应该能在./release目录下找到二进制文件:

    wine release/foo.exe
    
答案2:使用Archlinux的MinGW-w64工具链

另一个方法是在基于Arch的系统上使用MinGW-w64工具链:

  1. 安装必要的软件包:

    yay -Sy mingw-w64-qt5-base mingw-w64-boost
    
  2. 在项目目录中使用交叉编译工具进行构建:

    x86_64-w64-mingw32-qmake-qt5
    make
    
  3. 部署时需要将对应的dll文件复制到你的可执行文件目录中。

注意事项
  • 在配置Qt时,如果遇到idc相关问题,添加-skip qtactiveqt参数可以跳过这些问题。
  • 在配置过程中,本地主机的编译器可能会被调用,用于构建一些必要的工具,例如qmake
cd qt_source_directory
mkdir my_build
cd my_build
../configure \-release \-opensource \-no-compile-examples \-platform linux-g++-64 \-xplatform win32-g++ \-device-option CROSS_COMPILE=/usr/bin/x86_64-w64-mingw32- \-skip qtactiveqt \-v

结论

交叉编译Qt从Linux到Windows涉及指定正确的配置参数并确保交叉编译器被正确调用。使用像MXE或Archlinux的MinGW-w64工具链能简化这个过程,避免许多潜在的问题。

http://www.yayakq.cn/news/166863/

相关文章:

  • 公司网站建立费用Wordpress漂亮免费主题
  • 论坛型网站怎么做网站建设需要域名吗?
  • 网站自然排名简历制作免费模板下载
  • 网站建设分金手指专业十七做网站和网页区别
  • 下载wix做的网站网站类网站建设
  • 一个网站做多少关键词Wordpress 微信 openid
  • 网站建设电子书营销网站建设哪家好
  • 天津制作个人建站制作h5的软件有什么
  • 做网站的那些事山西网站建设服务
  • 如何开始做网站金融理财管理网站源码 dedecms
  • 网站空间地址查询asp网站vps搬家
  • 东莞专业微网站建设价格美食制作网站模板免费下载
  • 网站端网站开发中国轻工建设协会网站
  • 网站高质量外链成功案例 网站
  • 公司建多个网站建设银行招聘网站
  • 京东商城网站建设方案书在线制作假亲子鉴定书
  • 网站管理后台如果在代理商那里接手会不会停掉会建设简单的网站可以赚钱吗
  • 可以自己做logo的网站陕西住房和建设部网站
  • 微网站开发一般费用多少钱网站官网认证怎么做
  • 用PS怎么做网站界面wordpress foter
  • 湖北网站建设多少钱怎么做网站上的模拟动画
  • 网站图片用什么做网站负责人彩色验照
  • 如何做网站 frontpage如何编辑网站
  • 咋把网站制作成软件苏宁网站建设和推广策略
  • 做网站有什么专业术语口碑营销策略
  • 惠州营销网站建设公司软件开发包括
  • wordpress通知站点360搜索做网站怎么招广告
  • 网站修改图片怎么做三明百度seo
  • wordpress jq邵阳网站优化
  • html5可以做网站吗优设网址