gmg2719 发表于 2023-12-31 12:49

VMProtect与QT静态编译的一种可行的方法

本帖最后由 gmg2719 于 2023-12-31 12:53 编辑

鉴于如下帖子对于静态编译未能详尽描述,只给出了一些要点,其中有些要点实际验证也不是唯一的方法。
https://www.52pojie.cn/thread-1868718-1-1.html

如下详述经过我摸索成功的其中一种方法:
准备工作,安装python, perl, ruby,下载和安装方法自行搜索百度(版本不一定需要完全一致,但是应该不能差太多)。本人采用的版本如下:






然后在系统环境变量里面添加了C:\Program Files (x86)\Windows Kits\8.0\bin\x64, 否则编译QT过程中会报错fxc.exe找不到。(如果你的SDK是8.1的话,请自行修改,反正就是找到fxc.exe所在的目录加到环境变量中)


当你已经完成了对于VMP的动态链接QT成功之后。基础环境已经是OK了。我这边采用的是VS2019。在完成了动态链接QT之后。此时在开始菜单中会多出一些有用的选项,是VS2015的一些选项如下图所示:



其中红色圈出的选项就是接下来要用的。打开之后是一个命令提示框:




我的QT5.6.0安装目录是放到了G盘,输入如下指令切换到src目录
cd G:\Qt\Qt5.6.0\5.6\Src

然后输出如下指令进行configure


configure -prefix "G:\Qt\Qt5.6.0\5.6\msvc2015_64_static" -static -static-runtime -release -nomake examples -nomake tests -skip qtwebengine -opensource -confirm-license -qt-pcre -qt-pcre -qt-freetype –opengl desktop-target xp

其中 -prefix对应的目录,根据自己情况自行修改。【非常重要:如果你之前自行编译失败过,那么就一定要将所有的东西删除掉,把QT源代码重新安装解压,重新编译,不要采用增量编译,否则很多奇怪的问题就会出现,我在这里被坑了好久,因为是自行摸索configure,每次修改参数都嫌麻烦,想用增量编译,但是实际发现行不通,最好是每次修改任何configure的参数都要用全新的源代码重新编译。不过大家可能不会出现这个问题了,因为这个configuration的命令行我摸索出来了,大家就不用再费劲摸索了】

config 完成之后

输入
nmake

大概等待1个半小时,成功之后,再输入
nmake install

QT的静态编译就成了, 编译好的文件位于 G:\Qt\Qt5.6.0\5.6\msvc2015_64_static

接下来就是配置VMProtect的项目工程中的路径和你的静态链接库地址一致,在属性管理器中,任意打开一个 release的配置,如下几个位置记得修改成你的静态编译库地址










设置成功之后,编译VMProtect工程,成功生成静态链接QT的exe文件了。

LuckyClover 发表于 2023-12-31 13:30

支持一下,感谢分享思路,万一用得上

董督秀 发表于 2023-12-31 14:00

大佬,分享下编译的成品Qt 32位 64位静态库。

funkvps 发表于 2024-1-3 08:40

不知大佬能不能打包分享下32和64的qt静态编译成品。编译过程太占硬盘了,吃不消。
页: [1]
查看完整版本: VMProtect与QT静态编译的一种可行的方法