在Win10上编译Owncloud Client

 

在Win10上编译Owncloud Client

1. 准备编译环境

1.1 下载owncloud源代码

https://download.owncloud.com/desktop/ownCloud/stable/2.7.6.3261/source/ownCloud-2.7.6.3261.tar.xz

1.2 安装QT5.12.9

Owncloud-client 官方编译使用QT5.12.4,使用QT5.12.9也没有问题。下载并安装https://download.qt.io/official_releases/qt/5.12/5.12.9/qt-opensource-windows-x86-5.12.9.exe

1.3 安装CMake

下载并安装https://github.com/Kitware/CMake/releases/download/v3.19.5/cmake-3.19.5-win64-x64.msi

1.4 安装MSYS2及开发工具包

为了编译出icoutil(1.7)安装MSYS2。

  • 下载并安装 https://repo.msys2.org/distrib/x86_64/msys2-x86_64-20210228.exe。 默认安装路径为C:\msys64
  • 编辑C:/msys64/etc/pacman.d/mirrorlist.mingw32, 将“Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/” 添加为Server列表首项。
  • 编辑C:/msys64/etc/pacman.d/mirrorlist.mingw64, 将“Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/” 添加为Server列表首项。
  • 编辑C:/msys64/etc/pacman.d/mirrorlist.msys, 将“Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/” 添加为Server列表首项。
  •  进入MSYS2 控制台

  •  更新安装包信息
pacman –Sy
  •  安装基本开发工具
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
  •  安装libpng和gcc
pacman -S mingw-w64-x86_64-libpng  gcc

1.5 安装Win64OpenSSL

下载并安装http://slproweb.com/download/Win64OpenSSL-1_1_1j.msi

默认安装路径是C:\Program Files\OpenSSL-Win64\bin, 将其加入环境变量 PATH(系统路径)

1.6 编译qtkeychain 0.12

1. 下载https://github.com/frankosterfeld/qtkeychain/archive/v0.12.0.zip

2. 将v0.12.0.zip解压到X:\work\qtkeychain-0.12.0\目录下,X可以是任意有效盘符

3.  打开QT-minGW32 shell

4. 执行下面指令完成编译及配置,此处X:\work目录应与后面的OC_PATH值保持一致。

X:
set KEYCHAIN_PATH=X:\work\tool\qtkeychain-0.12.0
cd  %KEYCHAIN_PATH%
set PATH=C:\Program Files\OpenSSL-Win64\bin;%PATH%
mkdir x86_build
cd x86_build
cmake -G "MinGW Makefiles"  ..
mingw32-make
cd  \work
md bin
copy “%KEYCHAIN_PATH%\x86_build\libqt5keychain.dll”  bin\
md lib
copy “%KEYCHAIN_PATH%\x86_build\libqt5keychain.dll.a”  lib\
md include
copy “%KEYCHAIN_PATH%\x86_build\CMakeFiles\Export\lib\cmake\Qt5Keychain\*.cmake” “%KEYCHAIN_PATH%\x86_build\

1.7 编译icoutils

Icoutils只能在Linux环境下可以编译 ,它依赖的Linux gnu C环境使得移植到VisualStudio下非常困难。好在MSYS2可以在windows环境中将这种开源软件编译成exe执行文件。

  • 进入MSYS2 控制台

  •  下载,解压,编译icoutils-0.32.3
cd /home/tony
wget http://savannah.nongnu.org/download/icoutils/icoutils-0.32.3.tar.bz2
tar xf icoutils-0.32.3.tar.bz2
cd icoutils-0.32.3
./configure
make

将 C:\msys64\usr\bin\msys-z.dll 和 C:\msys64\home\Tony\icoutils-0.32.3\icotool\icotool.exe 复制到 X:/work/tool/下备用

1.8 准备libpng库文件

  • 下载mingw-w64-i686-cmocka-1.1.5-1-any.pkg.tar.xz,解压到 X:\work\lib目录下,并将目录mingw32改名为cmocka-1.1.5

            https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/mingw-w64-i686-cmocka-1.1.5-1-any.pkg.tar.xz

  • 下载mingw-w64-cross-zlib-1.2.11-1-i686.pkg.tar.xz,解压目录\opt\i686-w64-mingw32到 X:\work\lib目录下,并将目录i686-w64-mingw32改名为zlib-1.2.11

            http://repo.msys2.org/msys/i686/mingw-w64-cross-zlib-1.2.11-1-i686.pkg.tar.xz

  • 下载mingw-w64-x86_64-sqlite3-3.31.1-1-any.pkg.tar.xz,解压到 X:\work\lib目录下,并将目录mingw32改名为sqlite3-3.31.1

            http://repo.msys2.org/mingw/i686/mingw-w64-i686-sqlite3-3.31.1-1-any.pkg.tar.xz

2.  编译owncloud

  • 解压 ownCloud-2.7.6.3261.tar.xz 到 X:/work/ownCloud-2.7.6.3261
  • 打开QT-minGW32 shell

  • 执行以下指令
set PATH=X:/work/tool/qtkeychain-0.12.0/x86_build;%PATH%
set OC_PATH=X:/work
md "%OC_PATH%/client-build"
cd "%OC_PATH%/client-build"
cmake -G "MinGW Makefiles" %OC_PATH%/ownCloud-2.7.6.3261 -DZLIB_LIBRARY=%OC_PATH%/lib/zlib-1.2.5/bin/zlib1.dll -DZLIB_INCLUDE_DIR=%OC_PATH%/lib/zlib-1.2.5/include -DSQLite3_LIBRARY=%OC_PATH%/lib/sqlite-3.34.1/sqlite3.dll  -DSQLite3_INCLUDE_DIR=%OC_PATH%/lib/sqlite-3.34.1/include  -DCMOCKA_LIBRARIES=%OC_PATH%/lib/cmocka-1.1.5/bin/libcmocka.dll  -DCMOCKA_INCLUDE_DIR=%OC_PATH%/lib/cmocka-1.1.5/include  -D Qt5Keychain_DIR=%OC_PATH%/tool/qtkeychain-0.12.0/x86_build -DIcoTool_EXECUTABLE=%OC_PATH%/tool/icotool.exe
mingw32-make

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值