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

rt,curl编译时会根据指定的CPU架构生成不同的头文件,
在项目中使用curl时,编译器会根据curl头文件检查CPU架构是否匹配,
如果不匹配,编译器就会报错,如你编译的curl是针对32的CPU的,
但你在项目中使用curl又是要编译arm64,这是就会报:
curl_rule_01’ declared as an array with a negative size
curl_rule_02’ declared as an array with a negative size
这样的错误。

这个问题我解决搞了很长时间,最终解决了,如果你也碰到我这样的问题,
请呼叫我。

顶一下:14:

楼主,如何解决,还要小窗吗?

如果你要同时支持所有iPhone,iPad,模拟器,
你需要编译i386,x86_64,armv7,armv7s,arm64版本的curl,
记住:每种CPU架构的curl编译完成后,要保留其make install生成和拷贝的头文件,
然后把生成的每种CPU架构的curl静态库用lipo合并成一个静态库。

再在你的xcode项目中找到build settings中的user header search paths指定各种cpu架构的curl头文件路径,
并且将always search user paths改为Yes,如下所示:

也就是说,为了让编译器根据curl头文件检查CPU架构是否匹配而通过,我们必须指定各种
各种cpu架构的curl头文件路径,用一份头文件是不行的。这是问题核心所在。

感觉curl实现有问题,为什么要将实现和cpu架构相关联,并且还将其暴露给用户(程序员)了?

嗯,确实。我之前遇到这个问题,搞了好久最后是好了但是忘记如何修改的了。你这个方法不错

大神 能详细点么 具体操作不了解.
-----------------你需要编译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/