大家好。
我使用了来自Git的有关如何构建nextcloud客户端的说明:https://github.com/nextcloud/desktop/wiki/How-to-compile-the-desktop-client
我想解释一下我做了什么以及如何使nextcloud客户端运行:
安装Qt
CMake
Zlib
QtKeychain
OpenSSL
Git
Visual Studio
创建nextcloud项目文件
cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_INSTALL_PREFIX=/c/.../nextcloud/desktop/build/ -DQTKEYCHAIN_INCLUDE_DIR=/c/QTKeychain/Release/ -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1
构建nextcloud客户端
在/c/.../nextcloud/desktop/cmake中,我运行:
cmake --build . --config Debug --target nextcloud
解决了文件clientsideencryption.cpp和httpcredentials.cpp无法找到keychain.h和qkeychain_export.h的错误,因此我将这两个文件(和keychain.cpp)从QtKeychain存储库复制到了文件所在的位置在desktop / src / libsync下,错误不再出现
clientsideencryption.obj:错误LNK2019:在函数““类QByteArray __cdecl OCC ::''anonymous namespace':: BIO2ByteArray(struct bio_st *)”中引用的未解析的外部符号“ BIO_read”(?BIO2ByteArray @?A0xd4adced4 @ OCC @@ ya?AVQByteArray @@ PEAUbio_st @@@@ z)“。 [C:\ Nextcloud_64 \ desktop \ cmake \ src \ libsync \ nextcloudsync.vcxproj]
clientsideencryption.obj:错误LNK2019:在函数““类QByteArray __cdecl OCC :: EncryptionHelper :: privateKeyToPem(class QSslKey)”中引用的未解析的外部符号“ BIO_write”(?privateKeyToPem @ EncryptionHelper @ OCC @@ ya?AVQByteArray @@ VQSsl @z)”。 [C:\ Nextcloud_64 \ desktop \ cmake \ src \ libsync \ nextcloudsync.vcxproj]
我不确定此问题是否来自OpenSLL或QtKeychain。我是否错过了复制或以某种方式连接的东西?
任何人都可以告诉我我做的事情是否正确,以及是否有任何方法可以使客户端构建?
非常感谢您
答案 0 :(得分:1)
GitHub上的一个问题将我引到了这里。如果有人尝试相同的方法,我想添加一些提示:
我们现在有了一个正式的存储库,其中包含适用于Windows的构建脚本,用于创建日常构建以及发布的构建:
https://github.com/nextcloud/client-building/
如果您不想为Windows构建,可能会在此获得一些有用的提示;-)
关于Windows: 好提示@ mn_dc466 :) 首次尝试构建客户端后,只需打开build文件夹中的Visual Studio解决方案文件,就可以对您的修改进行重建和调试,而不必完全重建整个项目。