zoukankan      html  css  js  c++  java
  • 如何配置一个绿色化的 Qt for Windows 开发环境(有.bat脚本,亲测好用) good

    安装 QtCreator for Windows 其实是很简单的,不过,我一向讨厌什么软件都得弄个安装程序,我希望我所安装的这个 Qt 可以是绿色的、便携的,如果无法实现,至少让这个 Qt 可以在新系统下只经过极少的配置就可以使用。

    Qt 的安装其实也算有些"绿色"了,它不会乱写你的系统,大部分东西都在它自己的安装目录里了。然而,Qt 有个很恶心的地方,安装时,它不仅把安装路径写进配置文件,还把路径信息 硬编码 到二进制文件!这使得 Qt 很难实现完全意义上的 "绿色化" 或者 "便携化"。不过,还是有些技巧可以使得它尽量 "绿色化"。

    安装

    从 http://qt-project.org/downloads 下载 Qt,比如,qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe。 规划好安装的目录,我的目标是 C:Qt,不过,实际上我是在其它盘建立了一个 Qt 目录,然后使用 MKLINK ( Win7 以下版本请用 Junction ) 在 C 盘建立一个名为 Qt 的目录链接。比如:

    <pre> mkdir D:Qt mklink /J C:Qt D:Qt </pre> 之后运行 Qt 的安装文件,安装目录设为 C:Qt,其它按提示进行。我下载的是那个带 MinGW 版本的,安装时我选择了 MinGW 组件(在 Tools 选择项下)。 ## 修改 安装完成后,我们对 Qt 做些小手术。 - 修改 C:Qt5.2.1mingw48_32inqtenv2.bat 这个文件设定了 PATH 等变量,我们稍作修改,使它与具体的盘符无关: <pre> @echo off echo Setting up environment for Qt usage... cd /D %~dp0.. set QTDIR=%cd% set PATH=%QTDIR%in;%~d0QtToolsmingw48_32in;%PATH% </pre> - 复制 msvcp100.dll 和 msvcr100.dll 将 msvcp100.dll 和 msvcr100.dll 复制到 C:QtToolsQtCreatorin 目录下。因为我安装的是 32 位的 Qt,因此这两个 dll 文件也必须是 32 位版本的。可以在 Windows 的子目录中找到它们。 - 创建启动文件,指定配置文件夹 在 C:Qt 目录下创建一个批处理文件 QtCreator.bat,用以自定义配置文件夹: <pre> @echo off start %~d0QtToolsQtCreatorinqtcreator.exe -settingspath %~d0QtToolsQtCreatorsettings </pre>

    使用和配置

    本机使用当然没问题,我的目标是将 Qt 复制到其它系统中,或是放在移动硬盘里,这个 Qt 可以在其它系统中正常运行,即,实现便携化。我有两种办法可以达成这一目标:

    一、使用目录符号链接

    这种办法最简单,在其它系统中使用 MKLINK 建立一个链接,该链接的路径与上述的安装路径名相同,但让它指向实际的 Qt 目录,比如: <code>mklink /J C:Qt U:Qt</code> 这样,就可以正常调用 C:QtQtCreator.bat 了,不需要其它配置。不再需要 Qt 的时候,删除该链接即可。

    二、配置构建和运行环境

    如果不用链接,这个 Qt 也是可以用的,只需要在启动 QtCreator 之后进行一些配置,参考以下步骤:

    • 创建 qt.conf 在与 qmake 相同的目录(C:Qt5.2.1mingw48_32in)下,创建一文本文件,名为 qt.conf,内容如下: <pre> [Paths] Prefix = C:/Qt/5.2.1/mingw48_32 </pre> 根据自己的情况,对该文件中的路径进行调整,注意路径分隔符使用的是 UNIX 样式的正斜杠。
    • 配置 Qt Versions 菜单路径: Tools / Options / Build & Run / Qt Versions,在此处添加 qmake 的路径。
    • 配置 Compilers 菜单路径: Tools / Options / Build & Run / Compilers,在这里添加编译器的路径。我用的是 MinGW 版本,所以在这里添加 g++ 的路径。
    • 配置 Debuggers 菜单路径: Tools / Options / Build & Run / Debuggers,此处添加调试器路径,我这里是 gdb 的路径。
    • 配置构建套件 (Kits) 菜单路径: Tools / Options / Build & Run / Kits,此处添加 Kit,并依次选择正确的 Compiler, Debugger 和 Qt Version。

    完成这些步骤,Qt 应该就可以正常使用了。

    qt.conf 的作用及自动生成

    前面已经提到过 qt.conf,这里深入探讨下该文件的作用。Qt 在编译时将安装路径 硬编码 到了库文件中,这非常恶心!可以使用 qmake 的 -query 参数查看 Qt 的安装路径:

    qmake -query

    QT_INSTALL_PREFIX:C:Qt5.2.1mingw48_32
    QT_INSTALL_ARCHDATA:C:Qt5.2.1mingw48_32
    QT_INSTALL_DATA:C:Qt5.2.1mingw48_32
    QT_INSTALL_DOCS:C:Qt5.2.1mingw48_32doc
    QT_INSTALL_HEADERS:C:Qt5.2.1mingw48_32include
    QT_INSTALL_LIBS:C:Qt5.2.1mingw48_32lib
    QT_INSTALL_LIBEXECS:C:Qt5.2.1mingw48_32libexec
    QT_INSTALL_BINS:C:Qt5.2.1mingw48_32in
    QT_INSTALL_TESTS:C:Qt5.2.1mingw48_32 ests
    QT_INSTALL_PLUGINS:C:Qt5.2.1mingw48_32plugins
    QT_INSTALL_IMPORTS:C:Qt5.2.1mingw48_32imports
    QT_INSTALL_QML:C:Qt5.2.1mingw48_32qml
    QT_INSTALL_TRANSLATIONS:C:Qt5.2.1mingw48_32 ranslations
    QT_INSTALL_EXAMPLES:C:Qt5.2.1mingw48_32examples
    QMAKE_SPEC:win32-g++
    QMAKE_XSPEC:win32-g++
    QMAKE_VERSION:3.0 QT_VERSION:5.2.1

    Qt 的这一点实在恶心,幸运的是,通过 qt.conf 文件,那些 硬编码 的路径是可以被覆盖的。qt.conf 应与 qmake 放置在同一个目录下,在指定正确的路径前缀(Prefix)后,还可以分别配置 Translations, Plugins, Examples 等子目录的名称。一般情况下,只配置 Prefix 就够了。 可以通过一个批处理文件来创建 qt.conf。在与 qmake 相同的目录(C:Qt5.2.1mingw48_32in)下,创建一个名为 qt.conf.bat 的批处理文件,内容如下:

    <pre> @echo off cd /D %~dp0.. set QTDIR=%cd% cd bin echo [Paths] > qt.conf echo Prefix = %QTDIR:=/% >> qt.conf </pre> 你还可以在 QtCreator.bat 启动时做些检查并调用 qt.conf.bat,自动生成 qt.conf。另外,你可以把 %QTDIR%in 加到系统的 PATH 中,这样其它软件就可以找到 qmake 等工具。

    现在,我们就可以得到一个几近绿色的 Qt 开发工具了。就个人而言,我觉得在 C 盘使用目录链接最为简单,因为那不需要其它配置。

    参考

    --

    https://my.oschina.net/chenzhiqiang/blog/210451

    qt.conf.bat (好用):

    http://www.xaazg.com/445460554.html

  • 相关阅读:
    Python学习(四十三)—— Djago-admin管理工具
    Python心得基础篇【1】入门篇
    ServletRequest接口和HttpServletRequest接口
    Java swing
    postgresSQL指令
    Oracle数据库相关
    Java 接口
    Java 求一段代码运行所需要的时间——模板方法设计模式
    Java SE基础巩固
    Java开发环境
  • 原文地址:https://www.cnblogs.com/findumars/p/6388594.html
Copyright © 2011-2022 走看看