如何编译qtimageformats?
How to compile qtimageformats?
最近发布的 Qt 6.0.0 改变了 qtimageformats 的分布。 Thay 不再是预构建的,必须在本地构建。
我检查了 QT git 来源 here。
git clone git://code.qt.io/qt/qt5.git
cd qt5
git checkout v6.0.0
然后,我编辑了 .gitmodules 文件并将 qtimageformats 的忽略标志更改为 'addon'。我发现配置脚本是基于 .git 模块和这些标志的。
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = dev
status = addon
我根据 Qt doc.
设置了所需的构建环境
REM Set up Microsoft Visual Studio 2019, where <arch> is amd64, x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio19\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET _ROOT=C:\Qt6\Qt5
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT=
然后,我检索了 Qt docs 中描述的所有 git 个模块。
perl init-repository
到现在为止 - 一切正常。 configure 帮助确实显示了 qtimageformats 选项。
configure --help
...
...
Further image format options:
-jasper .............. Enable JPEG-2000 support using the JasPer library [no]
-mng ................. Enable MNG support [no]
-tiff ................ Enable TIFF support [system/qt/no]
-webp ................ Enable WEBP support [system/qt/no]
但是,现在我陷入了以下错误。 configure?
似乎无法识别这些选项
c:\qt6\qt5>configure.bat -tiff qt
+ cd qtbase
+ c:\qt6\qt5\qtbase\configure.bat -top-level -tiff qt
CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:227 (message):
Unknown command line option '-tiff'.
Call Stack (most recent call first):
qtbase/cmake/QtProcessConfigureArgs.cmake:531 (qtConfAddError)
Qt 6 没有关于 qtimageformats 的文档 - 所以我可能错过了一些东西但不知道是什么。欢迎任何想法!
终于,我成功了。我找到了关于 Qt6 的 Phoronix article。
Qt6 开始使用 conan.io 包管理器。所以 Qt 安装程序提供的源已经足够了。它将 qtimageformats 的源下载到以下位置 ~/Qt/AdditionalLibraries/Qt/qtimageformats-6.0.0.
柯南会做剩下的事情。
MacOS [共享库]
cd ~/Qt/AdditionalLibraries/Qt/qtimageformats-6.0.0/Src
export QT_PATH=~/Qt/6.0.0/clang_64
~/Qt/Tools/Conan/conan install . -o qtimageformats:shared=True
~/Qt/Tools/Conan/conan build .
PS: install 命令确实在 build 命令之前 - 这不是错误。
库已在 MacOS 上成功构建。
Windows [共享库]
CALL "C:\Program Files (x86)\Microsoft Visual Studio19\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET QT_PATH=C:\Qt.0.0\msvc2019_64
cd C:\Qt\AdditionalLibraries\Qt\qtimageformats-6.0.0\Src
md build
cd build
C:\Qt\Tools\Conan\conan install .. -s build_type=RelWithDebInfo
C:\Qt\Tools\Conan\conan build ..
C:\Qt\Tools\Conan\conan build ..
PS: 第一个conan build 命令会失败,因为生成的cmake 文件不适合并行构建。第二个 conan build 命令将会成功。
如果您现在知道如何说服 conan.io 在没有 conanfile.py 的情况下禁用并行构建,请告诉我们。
在我使用新的 CMake 框架自己构建 Qt 之后,构建这些额外包的最简单方法仍然是在包的根目录中使用 qmake,例如(例如在 WINDOWS 使用 VS):
set PATH=c:\Qt.0.0\bin;%PATH%
qmake <package>.pro
nmake
nmake install
第一行只是提供了我的 qt6 qmake 的路径。
最近发布的 Qt 6.0.0 改变了 qtimageformats 的分布。 Thay 不再是预构建的,必须在本地构建。
我检查了 QT git 来源 here。
git clone git://code.qt.io/qt/qt5.git
cd qt5
git checkout v6.0.0
然后,我编辑了 .gitmodules 文件并将 qtimageformats 的忽略标志更改为 'addon'。我发现配置脚本是基于 .git 模块和这些标志的。
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = dev
status = addon
我根据 Qt doc.
设置了所需的构建环境REM Set up Microsoft Visual Studio 2019, where <arch> is amd64, x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio19\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET _ROOT=C:\Qt6\Qt5
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT=
然后,我检索了 Qt docs 中描述的所有 git 个模块。
perl init-repository
到现在为止 - 一切正常。 configure 帮助确实显示了 qtimageformats 选项。
configure --help
...
...
Further image format options:
-jasper .............. Enable JPEG-2000 support using the JasPer library [no]
-mng ................. Enable MNG support [no]
-tiff ................ Enable TIFF support [system/qt/no]
-webp ................ Enable WEBP support [system/qt/no]
但是,现在我陷入了以下错误。 configure?
似乎无法识别这些选项c:\qt6\qt5>configure.bat -tiff qt
+ cd qtbase
+ c:\qt6\qt5\qtbase\configure.bat -top-level -tiff qt
CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:227 (message):
Unknown command line option '-tiff'.
Call Stack (most recent call first):
qtbase/cmake/QtProcessConfigureArgs.cmake:531 (qtConfAddError)
Qt 6 没有关于 qtimageformats 的文档 - 所以我可能错过了一些东西但不知道是什么。欢迎任何想法!
终于,我成功了。我找到了关于 Qt6 的 Phoronix article。
Qt6 开始使用 conan.io 包管理器。所以 Qt 安装程序提供的源已经足够了。它将 qtimageformats 的源下载到以下位置 ~/Qt/AdditionalLibraries/Qt/qtimageformats-6.0.0.
柯南会做剩下的事情。
MacOS [共享库]
cd ~/Qt/AdditionalLibraries/Qt/qtimageformats-6.0.0/Src
export QT_PATH=~/Qt/6.0.0/clang_64
~/Qt/Tools/Conan/conan install . -o qtimageformats:shared=True
~/Qt/Tools/Conan/conan build .
PS: install 命令确实在 build 命令之前 - 这不是错误。
库已在 MacOS 上成功构建。
Windows [共享库]
CALL "C:\Program Files (x86)\Microsoft Visual Studio19\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET QT_PATH=C:\Qt.0.0\msvc2019_64
cd C:\Qt\AdditionalLibraries\Qt\qtimageformats-6.0.0\Src
md build
cd build
C:\Qt\Tools\Conan\conan install .. -s build_type=RelWithDebInfo
C:\Qt\Tools\Conan\conan build ..
C:\Qt\Tools\Conan\conan build ..
PS: 第一个conan build 命令会失败,因为生成的cmake 文件不适合并行构建。第二个 conan build 命令将会成功。 如果您现在知道如何说服 conan.io 在没有 conanfile.py 的情况下禁用并行构建,请告诉我们。
在我使用新的 CMake 框架自己构建 Qt 之后,构建这些额外包的最简单方法仍然是在包的根目录中使用 qmake,例如(例如在 WINDOWS 使用 VS):
set PATH=c:\Qt.0.0\bin;%PATH%
qmake <package>.pro
nmake
nmake install
第一行只是提供了我的 qt6 qmake 的路径。