4

使用 CMake 的第一步就像一个魅力。没有错误出现,一切都按原样生成,但是当我尝试在 Visual Studio 中构建它时,我得到 11 个错误和 3 个警告。

所以错误在 .obj 文件中,不知道如何解决。第一个错误在 Authserver 项目的 Main.obj 中,第二个错误在 worldserver 项目的 main.obj 中

错误号 1:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 SSLeay_version 在函数“int __cdecl ace_main_i(int,char * * const)”(?ace_main_i@@YAHHQEAPEAD@Z) authserver C:\Azerothcore\Build\src\server 中引用\authserver\Main.obj 1

错误号 2:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 SSLeay_version 在函数“int __cdecl ace_main_i(int,char * * const)”(?ace_main_i@@YAHHQEAPEAD@Z) worldserver C:\Azerothcore\Build\src\server 中引用\worldserver\Main.obj 1

接下来的 4 个错误位于 worldserver 项目的 shared.lib(OpenSSL crypto.obj) 文件中。

错误号 1:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 CRYPTO_num_locks 在函数“void __cdecl OpenSSLCrypto::threadsSetup(void)”(?threadsSetup@OpenSSLCrypto@@YAXXZ) worldserver C:\Azerothcore\Build\src\server\worldserver 中引用\shared.lib(OpenSSLCrypto.obj) 1

错误号 2:

严重性代码描述项目文件行抑制状态错误 LNK2019 未解析的外部符号 CRYPTO_set_locking_callback 在函数“void __cdecl OpenSSLCrypto::threadsSetup(void)”(?threadsSetup@OpenSSLCrypto@@YAXXZ) worldserver C:\Azerothcore\Build\src\server\worldserver 中引用\shared.lib(OpenSSLCrypto.obj) 1

错误号 3:

严重性代码描述项目文件行抑制状态错误 LNK2019 未解析的外部符号 CRYPTO_THREADID_set_numeric 在函数“void __cdecl threadIdCallback(struct crypto_threadid_st *)”(?threadIdCallback@@YAXPEAUcrypto_threadid_st@@@Z) worldserver C:\Azerothcore\Build\src\server\ 中引用worldserver\shared.lib(OpenSSLCrypto.obj) 1

错误号 4:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 CRYPTO_THREADID_set_callback 在函数“void __cdecl OpenSSLCrypto::threadsSetup(void)”(?threadsSetup@OpenSSLCrypto@@YAXXZ) worldserver C:\Azerothcore\Build\src\server\worldserver 中引用\shared.lib(OpenSSLCrypto.obj) 1

接下来的 3 个错误在 shared.lib(ARC4.obj) shared.lib(HMACSHA1.obj) 文件中。

错误号 1 ARC4.obj 文件:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 EVP_CIPHER_CTX_init 在函数“public: __cdecl ARC4::ARC4(unsigned int)” (??0ARC4@@QEAA@I@Z) worldserver C:\Azerothcore\Build\ 中引用src\server\worldserver\shared.lib(ARC4.obj) 1

错误号 2 HMACSHA1 文件:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 HMAC_CTX_init 在函数“struct hmac_ctx_st * __cdecl HMAC_CTX_new(void)”中引用 (?HMAC_CTX_new@@YAPEAUhmac_ctx_st@@XZ) worldserver C:\Azerothcore\Build\src\server\worldserver \shared.lib(HMACSHA1.obj) 1

错误号 3 HMACSHA1 文件:

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号 HMAC_CTX_cleanup 在函数“void __cdecl HMAC_CTX_free(struct hmac_ctx_st *)”中引用 (?HMAC_CTX_free@@YAXPEAUhmac_ctx_st@@@Z) worldserver C:\Azerothcore\Build\src\server\ worldserver\shared.lib(HMACSHA1.obj) 1

4

1 回答 1

5

修复了这个问题,OpenSSL 的版本损坏了,所以当通过 Cmake 运行时它没有注意到它,但是 Visual Studio 注意到了,所以删除了 OpenSSL,重新安装并重新运行 Cmake,现在它确实构建得很好

于 2019-03-09T16:58:46.460 回答