Windows#

本文介绍了在Windows中编译FreeKill的方式。

安装Qt#

FreeKill采用最新版Qt6进行构建(具体版本可以看构建CI),因此需要先安装Qt6的开发环境。

建议用 Qt官方下载器 进行安装。安装工具的操作除了界面是英文之外其实很直观,因此流程不做赘述, 但是建议尽量只下载必要组件而不是全部(大约安装后只占地3GB左右)。 为了编译FreeKill,至少需要安装以下的组件:

  • Qt 6: MinGW 11.2.0 64-bit

  • Qt 6: Qt5 Compatibility Module

  • Qt 6: Shader Tools (为了使用GraphicalEffects)

  • Qt 6: Multimedia

  • QtCreator

  • CMake、Ninja

  • OpenSSL最新版(如果你的Qt下载器中没有这一项, 请移步官网下载

其中Qt6的版本是任意的,MinGW的版本也是,都越新越好,但是要清楚开发组发布release时会使用6.5.3版。

利用aqtinstall安装Qt#

这是个QT安装工具,可以在不用Qt安装工具的情况下安装所需工具。缺点是需要自己配置环境变量。

新建个文件夹作为Qt安装路径,并准备好Git bash和python。下列命令在Git Bash中运行,版本号视情况修改。

$ pip install aqtinstall
$ aqt install-qt windows desktop 6.10.0 win64_mingw -m qtmultimedia qt5compat qtshadertools
$ aqt install-tool windows desktop tools_mingw1310
$ aqt install-tool windows desktop tools_cmake
$ aqt install-tool windows desktop tools_ninja
$ aqt install-tool windows desktop tools_opensslv3_x64
$ aqt install-tool windows desktop tools_qtcreator
$ aqt install-tool windows desktop tools_qtcreator_kits_and_debuggers

这样就在该文件夹下安装好了编译FreeKill所需的Qt模块和工具。QtCreator位于Tools/QtCreator/bin/qtcreator.exe。 其他编译工具的位置需要自己加到PATH,方法见下文。

安装其余依赖#

从网络上下载并安装swig。 swig 在其官网可以下载 , 下载完成之后,还需要将含有swig.exe的文件夹设置到Path环境变量里面去。 打开Windows开始菜单的“环境变量”,在系统变量中找到Path,编辑,添加swig.exe所在的路径。

克隆FreeKill项目#

新建你想要存放FreeKill项目的文件夹,然后在该文件夹下打开CMD,执行:

git clone --recurse-submodules https://github.com/Qsgs-Fans/FreeKill.git

编译与运行#

接下来使用QtCreator打开项目(选择Repo根目录下的CMakeLists.txt),然后尝试编译。

这时遇到cmake报错:OpenSSL:Crypto not found. 这是因为我们还没有告诉编译器OpenSSL的位置,点左侧“项目”,查看构建选项, 在CMake的Initial Configuration中,点击添加按钮,新增String型环境变量 OPENSSL_ROOT_DIR, 将其值设为跟Qt一同安装的OpenSSL的位置 (如C:/Qt/Tools/OpenSSL/Win_x64)。然后点下方的Re-configure with Initial Parameters,这样就能正常编译了。

运行的话,在Qt Creator的项目选项->运行中,先将工作目录改为项目所在的目录 (git仓库的目录)。然后先将编译好了的FreeKill.exe放到项目目录中, 在目录下打开CMD,执行:

windeployqt FreeKill.exe

调整目录下的dll文件直到能运行起来为止(这时可以尝试用CMD直接运行FreeKill.exe,会提示缺少哪些dll文件, 可以从freekill的release版本中把这些文件复制过去),之后就可以在Qt Creator中正常运行和调试了。