Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VS2015 C++ x64 编译链接出错 #4

Closed
DannyJieweiLi opened this issue Mar 20, 2019 · 3 comments
Closed

VS2015 C++ x64 编译链接出错 #4

DannyJieweiLi opened this issue Mar 20, 2019 · 3 comments

Comments

@DannyJieweiLi
Copy link

编译32位无错,32位库写文档中的例子也无错
只有编译64位有错,是否不支持64位?

cmake 生成64位解决方案
然后运行:msbuild ALL_BUILD.vcxproj

  1. 自带的sample 编译出错
  2. 复制文档里的代码新建一个工程编译也出相应的错误

"D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\ALL_BUILD.vcxproj" (default target
) (1) ->
"D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.vcxproj" (de
fault target) (4) ->
(Link target) ->
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_global_init
referenced in function "public: static void __cdecl AlibabaCloud::OSS::CurlHttpClient::initGlobalState(void)" (?initGl
obalState@CurlHttpClient@OSS@AlibabaCloud@@SAXXZ) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk
-master\build64\sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_global_clean
up referenced in function "public: static void __cdecl AlibabaCloud::OSS::CurlHttpClient::cleanupGlobalState(void)" (?
cleanupGlobalState@CurlHttpClient@OSS@AlibabaCloud@@SAXXZ) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-os
s-cpp-sdk-master\build64\sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_slist_append
referenced in function "public: virtual class std::shared_ptr __cdecl AlibabaC
loud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeReq
uest@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHttp
Request@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\s
ample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_slist_free_a
ll referenced in function "public: virtual class std::shared_ptr __cdecl Alibab
aCloud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeR
equest@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHt
tpRequest@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64
\sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_strerro
r referenced in function "public: virtual class std::shared_ptr __cdecl Alibaba
Cloud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeRe
quest@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHtt
pRequest@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64
sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_init re
ferenced in function "private: bool __cdecl AlibabaCloud::OSS::CurlContainer::growPool(void)" (?growPool@CurlContainer
@oss@AlibabaCloud@@AEAA_NXZ) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sampl
e\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_setopt
referenced in function "public: virtual class std::shared_ptr __cdecl AlibabaCl
oud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeRequ
est@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHttpR
equest@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sa
mple\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_perform
referenced in function "public: virtual class std::shared_ptr __cdecl AlibabaC
loud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeReq
uest@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHttp
Request@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\s
ample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_cleanup
referenced in function "public: __cdecl AlibabaCloud::OSS::CurlContainer::~CurlContainer(void)" (??1CurlContainer@OSS
@AlibabaCloud@@qeaa@XZ) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp
-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_getinfo
referenced in function "public: virtual class std::shared_ptr __cdecl AlibabaC
loud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeReq
uest@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHttp
Request@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\s
ample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(CurlHttpClient.obj) : error LNK2019: unresolved external symbol __imp_curl_easy_reset r
eferenced in function "public: virtual class std::shared_ptr __cdecl AlibabaClo
ud::OSS::CurlHttpClient::makeRequest(class std::shared_ptr const &)" (?makeReque
st@CurlHttpClient@OSS@AlibabaCloud@@UEAA?AV?$shared_ptr@VHttpResponse@OSS@AlibabaCloud@@@std@@aebv?$shared_ptr@VHttpRe
quest@OSS@AlibabaCloud@@@5@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sam
ple\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_MD_CTX_init referenced in fu
nction "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud::
OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@Ali
babaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@std
@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.vcx
proj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_MD_CTX_create referenced in
function "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud
::OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@A
libabaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@s
td@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.v
cxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_MD_CTX_destroy referenced in
function "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaClou
d::OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@
AlibabaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@
std@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.
vcxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_MD_CTX_set_flags referenced
in function "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCl
oud::OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OS
S@AlibabaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@
D@std@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sampl
e.vcxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_DigestInit_ex referenced in
function "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud
::OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@A
libabaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@s
td@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.v
cxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_DigestUpdate referenced in f
unction "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud:
:OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@Al
ibabaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@st
d@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.vc
xproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_DigestFinal_ex referenced in
function "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaClou
d::OSS::ComputeContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@
AlibabaCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@
std@@@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.
vcxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_EncodeBlock referenced in fu
nction "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud::
OSS::ComputeContentMD5(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentMD5@OSS@Aliba
baCloud@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@std@@
@4@@z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.vcxpr
oj]
alibabacloud-oss-cpp-sdk.lib(HmacSha1Signer.obj) : error LNK2001: unresolved external symbol EVP_EncodeBlock [D:\mai
qi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol EVP_md5 referenced in function "
class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud::OSS::Com
puteContentETag(class std::basic_istream<char,struct std::char_traits > &)" (?ComputeContentETag@OSS@AlibabaClou
d@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@aeav?$basic_istream@DU?$char_traits@D@std@@@4@@z)
[D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(Utils.obj) : error LNK2019: unresolved external symbol MD5 referenced in function "clas
s std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl AlibabaCloud::OSS::Compute
ContentETag(char const *,unsigned __int64)" (?ComputeContentETag@OSS@AlibabaCloud@@ya?AV?$basic_string@DU?$char_traits
@d@std@@v?$allocator@D@2@@std@@PEBD_K@Z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\b
uild64\sample\cpp-sdk-sample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(HmacSha1Signer.obj) : error LNK2019: unresolved external symbol EVP_sha1 referenced in
function "public: virtual class std::basic_string<char,struct std::char_traits,class std::allocator > __cd
ecl AlibabaCloud::OSS::HmacSha1Signer::generate(class std::basic_string<char,struct std::char_traits,class std::
allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > cons
t &)const " (?generate@HmacSha1Signer@OSS@AlibabaCloud@@ueba?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@
@std@@AEBV45@0@Z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-s
ample.vcxproj]
alibabacloud-oss-cpp-sdk.lib(HmacSha1Signer.obj) : error LNK2019: unresolved external symbol HMAC referenced in func
tion "public: virtual class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl
AlibabaCloud::OSS::HmacSha1Signer::generate(class std::basic_string<char,struct std::char_traits,class std::allo
cator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &)
const " (?generate@HmacSha1Signer@OSS@AlibabaCloud@@ueba?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std
@@AEBV45@0@Z) [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\cpp-sdk-sampl
e.vcxproj]
D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-master\build64\sample\Release\cpp-sdk-sample.exe
: fatal error LNK1120: 23 unresolved externals [D:\maiqi\thirdPart\OSS\aliyun-oss-cpp-sdk-master\aliyun-oss-cpp-sdk-m
aster\build64\sample\cpp-sdk-sample.vcxproj]

12 Warning(s)
25 Error(s)
@huiguangjun
Copy link
Collaborator

该sdk 自带的 第三库 是 win32 版本的。 月底发布的版本会增加 x64的依赖库。

如果你着急的话,你可以 自己编译libcurl 和 openssl,然后 修改 aliyun-oss-cpp-sdk\CMakeLists.txt 文件,把 三个地方指到 你编译好的路径上。
set(CRYPTO_LIBS
${CMAKE_SOURCE_DIR}/third_party/lib/${WLIB_TARGET}/ssleay32.lib
${CMAKE_SOURCE_DIR}/third_party/lib/${WLIB_TARGET}/libeay32.lib)

set(CLIENT_LIBS
${CMAKE_SOURCE_DIR}/third_party/lib/${WLIB_TARGET}/libcurl.lib)

@DannyJieweiLi
Copy link
Author

ok, 明白了,我现在自己编译了64位的先用着,等你们更新了我再用你们提供的。 谢谢

@huiguangjun
Copy link
Collaborator

dev-1903 版本增加了x64 的 支持。 使用cmake 编译是,可以通过 -A x64 切换。
cmake .. -A x64 -DXXXXX

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants