如果你在iOS上使用curl碰到不能编译的问题,请呼叫我

大神 能详细点么 具体操作不了解.
-----------------你需要编译i386,x86_64,armv7,armv7s,arm64版本的curl,
记住:每种CPU架构的curl编译完成后,要保留其make install生成和拷贝的头文件,
然后把生成的每种CPU架构的curl静态库用lipo合并成一个静态库。-------------
以上能详细说下么

ps 我上在更新了xcode 5.1 以后出现这个问题的

已经说得很详细了,你不要使用coco2dx编译好的curl静态库,
自己到curl官网下载其最新源码,
然后分别为i386,x86_64,armv7,armv7s,arm64这些cpu架构编译静态库和生成头文件,
然后把所有静态库用lipo合并成一个静态库。
之后的步骤就按照我说的做。

如何编译curl源码,请google之,网上有很多资料。

因为5.1默认支持arm64,cocos2dx编译好的curl静态库和头文件都不支持arm64

你能发我一个你编译好的吗 我研究了好久没弄明白怎么编译各个版本. 249338192@qq.com

给你编译脚本.

注意:如果你的curl版本和我不同,请修改LIB_NAME变量,
编译不同cpu架构,请更改脚本中CFLAGS的-arch参数,
还有arm64,armv7s,armv7对应真机,i386,x86_64对应模拟器,
编译的时候注意sdk_path,CFLAGS与cpu的对应关系。

–prefix参数是curl静态库和头文件生成的路径

我也遇到这个问题了。
貌似今天突然出现的,难道用到curl都会出这个错误吗?

另外我用你的脚本编译curl,碰到一个奇怪的错误:
/bin/sh …/libtool --tag=CC --mode=compile /Users/trdehero/Desktop/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DHAVE_CONFIG_H -I…/include/curl -I…/include -I…/include -I…/lib -I…/lib -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -fvisibility=hidden -arch arm64 -isysroot /Users/trdehero/Desktop/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -miphoneos-version-min=6.0 -Qunused-arguments -Os -MT libcurl_la-url.lo -MD -MP -MF .deps/libcurl_la-url.Tpo -c -o libcurl_la-url.lo test -f 'url.c' || echo './'url.c
libtool: compile: /Users/trdehero/Desktop/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DHAVE_CONFIG_H -I…/include/curl -I…/include -I…/include -I…/lib -I…/lib -DBUILDING_LIBCURL -DCURL_STATICLIB -DCURL_HIDDEN_SYMBOLS -fvisibility=hidden -arch arm64 -isysroot /Users/trdehero/Desktop/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -miphoneos-version-min=6.0 -Qunused-arguments -Os -MT libcurl_la-url.lo -MD -MP -MF .deps/libcurl_la-url.Tpo -c url.c -o libcurl_la-url.o
url.c:51:2: error: “We can’t compile without socket() support!”
#error “We can’t compile without socket() support!”

网上也没有找到解决方案。请赐教!

后来发现不需要搞这么复杂的东西的,改一个设置就可以打包成功了。确实比较诡异,也不知道什么时候不小心改的。

哥们改哪个设置就可以打包成功了?

大神,我也遇到这种问题解决不了啊,大神把具体方法和文件发我邮箱一份儿吧!谢谢! 384424204@qq.com

能给个你编译好的 libCurl.a 的库吗

求大神贡献 具体方法和文件发一份到邮箱,550257182@qq.com. 非常感谢

user.qzone.qq.com/3091762715
user.qzone.qq.com/3098179437
user.qzone.qq.com/2091876103
user.qzone.qq.com/3098113294
user.qzone.qq.com/2120076410
user.qzone.qq.com/2074881831
user.qzone.qq.com/2778868772
user.qzone.qq.com/1795007842

t.qq.com/tlngyyzlbdfh
t.qq.com/tlnjyyzlbdfh
t.qq.com/tlnjyyzbdfzy?preview
t.qq.com/tlzkbdfyyzmy?preview
t.qq.com/tlqnzlbdfxgh?preview
t.qq.com/tlnjyynzhbdf?preview
t.qq.com/tlbdfzkyynjh?preview
t.qq.com/tonglingna4213?preview

t.sohu.com/p/u/1857222570
t.sohu.com/p/u/1857223528
t.sohu.com/p/u/1857224178
t.sohu.com/p/u/1857224906
t.sohu.com/p/u/1857225586
t.sohu.com/p/u/1857226466
t.sohu.com/p/u/1857227974
t.sohu.com/p/p/u/1857229500
t.sohu.com/p/u/1857452702
t.sohu.com/p/u/1857471076
t.sohu.com/p/u/1857472628
t.sohu.com/p/u/1857475576
t.sohu.com/p/u/1857477972
t.sohu.com/p/u/1857480274
t.sohu.com/p/u/1857482640
t.sohu.com/p/u/1857491246
t.sohu.com/p/p/u/1857493388

tlzbdfnlhn.t.sohu.com/
tlbdfyydh.t.sohu.com/
tlqnzlbdf.t.sohu.com/
tlzyzlbdf.t.sohu.com/
tlzlbdfyy.t.sohu.com/
tlzmzbdf.t.sohu.com/
tlbdfzl.t.sohu.com/
tlnzbdf.t.sohu.com/
hbngyiyuanzlbdfh.t.sohu.com/
hbnjyiyyuanzlbdfh.t.sohu.com/
hbnjyiyuanzbdfzy.t.sohu.com/
hbzkbdfyyzmy.t.sohu.com/
hbqnzlbdfxgh.t.sohu.com/
hbnjyiyuannzhbdf.t.sohu.com/
hbbdfzkyiyyuannjh.t.sohu.com/
hbnjyiyuanzzbdf.t.sohu.com/
huaibeinlzdhbdf.t.sohu.com/

改哪个设置啊, 求指点

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

分别为i386,x86_64,armv7,armv7s,arm64这些cpu架构编译静态库和生成头文件,
然后把所有静态库用lipo合并成一个静态库。

上面这个是怎么做的啊????求指导

请问你问题解决了吗????我也遇到一样的问题,从网上下的ioscurl-7.40.0.tar.gz,替换掉就出现Undefined symbols for architecture x86_64

xcode-select --install,执行这个命令即可

楼主,我现在是Xcode7,iOS9.翻了N多的教程,没弄成功,麻烦楼主发一份给我~983174628@qq.com
谢谢啦~Xcode高一点的版本没问题吧?