參考: https://blog.byneil.com/windows-%E4%BB%A5%E5%8F%8A-xcode%E4%B8%8B%E7%BC%96%E8%AF%91%E8%B0%83%E8%AF%95-libcurl-%E6%BA%90%E7%A0%81/
一般libcurl是用makefile進(jìn)行編譯的沾乘,這里為了能用Xcode對libcurl進(jìn)行編譯需要用cmake生成Xcode工程
當(dāng)然其中的一切有版本
一商佑、需要先安裝cmake
下載 cmake 源碼殿如, http://www.cmake.org/files/v3.1/cmake-3.1.0-rc1.tar.gz
然后解壓陋气, 進(jìn)去:
命令: ./configure && make && make install
一切順利的話裕偿,應(yīng)該就能成功了。
二崖媚、進(jìn)行文件初始化生成
下載curl源碼 (http://curl.haxx.se/download.html) 我現(xiàn)在用的是7.52.1版本
進(jìn)入curl的源碼目錄:
命令: ./configure --without-libssh2 --with-darwinssl
命令: make
說明一下, 我們這里指定了兩個(gè)參數(shù), 我們不需要 curl 支持 ssh, 所以把”–without-libssh2 ” 排除. 而且”–with-darwinssl” 指定使用 mac 上的 ssl 實(shí)現(xiàn), 而不需要 openssl.
這樣可以減少出錯(cuò)的可能性, 而且, 我們就需要 darwinssl.
三、使用 cnamke 逆向Xcode生成工程.
我們可以先嘗試一下:
命令:
mkdir -p build/xcode
cd build/xcode
cmake ../../$CURL -G Xcode
打開工程
四: 進(jìn)行工程正常編譯調(diào)試
用Xcode打開工程 選擇 curl進(jìn)行編譯
發(fā)現(xiàn)報(bào)錯(cuò) 編譯報(bào)錯(cuò)
然后在 liburl/build/xcode 里執(zhí)行:
sed -i "" "s/OTHER_LDFLAGS = "/OTHER_LDFLAGS = "-framework Cocoa -framework CoreFoundation -framework CoreServices -framework Security -fobjc-link-runtime -framework LDAP/" CURL.xcodeproj/project.pbxproj
發(fā)現(xiàn)仍然報(bào)錯(cuò)
解決辦法 更改 libcurl 目錄中的CMakeLists.txt 為我自己的CMakeLists.txt
附:CMakeLists.txt (見我的簡書 或者參考文章中)
替換以后重新進(jìn)入文件夾 liburl/build/xcode執(zhí)行 命令 : cmake ../../$CURL -G Xcode
然后在執(zhí)行:
sed -i "" "s/OTHER_LDFLAGS = "/OTHER_LDFLAGS = "-framework Cocoa -framework CoreFoundation -framework CoreServices -framework Security -fobjc-link-runtime -framework LDAP/" CURL.xcodeproj/project.pbxproj
到現(xiàn)在為止生成的Xcode工程 編譯通過 不報(bào)錯(cuò)
//=======================================================================