hello~ 麻烦问下,我这边cocos2dx 版本的2.2.6 ,在arm64下编译,其他问题都已解决,但是libcurl死活链接不过去,直接用3.x版本的头文件+libcurl.a和libcurl_arm64.a,报错说
Undefined symbols for architecture x86_64:
“_opendir$INODE64”, referenced from:
_OPENSSL_DIR_read in libcurl.a(o_dir.o)
“_readdir$INODE64”, referenced from:
_OPENSSL_DIR_read in libcurl.a(o_dir.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果用网上的一个 ioscurl-7.40.0.tar.gz ,它本身编译运行都没问题,armv7 7s,64都ok,但是我移到cocos2dx里就会报错
Undefined symbols for architecture x86_64:
“_SSLClose”, referenced from:
_Curl_darwinssl_close in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLCopyPeerTrust”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLCreateContext”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLGetBufferedReadSize”, referenced from:
_Curl_darwinssl_data_pending in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLGetNegotiatedCipher”, referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLGetNegotiatedProtocolVersion”, referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLGetNumberSupportedCiphers”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLGetSessionState”, referenced from:
_Curl_darwinssl_check_cxn in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLGetSupportedCiphers”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLHandshake”, referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLRead”, referenced from:
_darwinssl_recv in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetCertificate”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetConnection”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetEnabledCiphers”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetIOFuncs”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetPeerDomainName”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetPeerID”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetProtocolVersionMax”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetProtocolVersionMin”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLSetSessionOption”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SSLWrite”, referenced from:
_darwinssl_send in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecCertificateCopySubjectSummary”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
_append_cert_to_array in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecCertificateCreateWithData”, referenced from:
_append_cert_to_array in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecIdentityCopyCertificate”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecItemCopyMatching”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecPKCS12Import”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecPolicyCreateSSL”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecTrustEvaluate”, referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecTrustGetCertificateAtIndex”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecTrustGetCertificateCount”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecTrustSetAnchorCertificates”, referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_SecTrustSetAnchorCertificatesOnly”, referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecClass”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecClassIdentity”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecImportExportPassphrase”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecImportItemIdentity”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecMatchLimit”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecMatchLimitOne”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecMatchPolicy”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
“_kSecReturnRef”, referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-curl_darwinssl.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
然后我下载了curl源码,再不用arch直接make出不同架构的静态库,添加到工程中,又说新的头文件报错:
/*
- Verify that the size previously defined and expected for long
- is the same as the one reported by sizeof() at compile time.
*/
typedef char
curl_rule_01
;
/*
- Verify that the size previously defined and expected for
- curl_off_t is actually the the same as the one reported
- by sizeof() at compile time.
*/
typedef char
curl_rule_02
;
有点崩溃,请问如何解决?
另求楼主QQ