2019-02-21 遇到的一点小问题
公司让在我电脑编译一下公司产品的window客户端,同事有给文档和指导,这边记录一下。有一部分错误之前有在交叉编译nextcloud的desktop客户端 记录了。
-
msys2:下载安装msys2-x86_64-20180531.exe,修改下载源,然后打开
msys2
使用pacman
命令来下载安装开发工具包和QT包
。这个会自动添加C:\msys64\mingw64\bin
环境变量。
pacman -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-xpm-nox mingw-w64-x86_64-libtiff mingw-w64-x86_64-giflib mingw-w64-x86_64-libpng mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-librsvg mingw-w64-x86_64-libxml2 mingw-w64-x86_64-gnutls mingw-w64-x86_64-ffmpeg
pacman -S mingw-w64-x86_64-qt5
pacman -S mingw-w64-x86_64-qt-creator
pacman -S mingw-w64-x86_64-qt5-static
-
Cmake交叉编译器:下载cmake-3.14.0-rc2-win64-x64.zip,解压到目录
D:\wannoo\Cmake
,将D:\wannoo\CMake\bin\
写入环境变量。 -
OpenSSL:下载安装Win64OpenSSL-1_1_1a.exe,安装路径
D:\wannoo\OpenSSL-Win64
,将D:\wannoo\OpenSSL-Win64\bin\
写入环境变量。 -
qtkeychain:下载qtkeychain-master.zip,解压到目录
D:\wannoo\OpenSSL-Win64
,将D:\wannoo\OpenSSL-Win64\qtkeychain\
写入环境变量。然后在命令行执行命令,编译qtkeychain。
cd D:\wannoo\OpenSSL-Win64\qtkeychain\
cmake -G "MinGW Makefiles" .
mingw32-make
上面这些都准备好了,就可以从SVN上下载文件开始编译了。
- 打开
C:\msys64\mingw64\bin\qtcreator.exe
; -
文件 - 打开文件或项目
选择文件D:\wannoo\window_client\trunk\client-2.5.0\CMakeLists.txt
; - 选择合适的构建套件
Qt MinGW-w64 64bit (MSYS2)
。在工具-选项-构建和运行-构建套件(Kit)
查看配置路径是否设置正确; - 构建配置选择
Minimum Size Release
; -
构建-执行CMake
; -
构建-构建项目"Client"
。
Minimum Size Release
第一次操作时在第三步选错了,选成
Qt (static) MinGW-w64 64bit (MSYS2)
,然后编译完成的应用在运行时就会提示this application failed to start because it could not find or load the Qt platform plugin "windows"
,无法正常运行。this application failed to start because it could not find or load the Qt platform plugin "windows"
这些操作完成后我们就可以在Minimum Size Release
的构建目录文件夹D:\wannoo\window_client\trunk\Minimum_Size_Release\bin
里看到DataBox.exe
文件。
发布前还需要以下两个工具:
- NSIS:下载安装nsis-3.04-setup.exe。
- HM NIS EDIT:下载安装nisedit2.0.3.exe。
- 打开
HM NIS EDIT
-
文件-打开
>选择文件D:\wannoo\window_client\trunk\client-2.5.0\install\install.nsi
; - 修改
PRODUCT_VERSION
版本信息,修改PRODUCT_FILE_PATH
、PRODUCT_LIB_FILE_PATH
、PRODUCT_LIB_KEYCHAIN_FILE_PATH
的路径地址。 -
NSIS-编译脚本
编译完成后就可以在D:\wannoo\window_client\trunk\client-2.5.0\install
目录看到DataBox-2.7.4-setup.exe
文件。
NSIS-编译脚本
网友评论