J'essaie de compiler curl et de le lier statiquement à un autre projet. J'ai réussi à le compiler pour mon architecture mac (x86_64) et j'ai obtenu "libcurl.a". Maintenant, quand j'essaie de construire:Quel est l'emplacement de la bibliothèque darwinssl sur Mac OS X?
#include <curl/curl.h>
int main()
{
CURL *curl = curl_easy_init();
}
avec g ++ tornado.cc -o tornade (chemin-où-il-est) libcurl.a std = c 11
++ je reçois :
Undefined symbols for architecture x86_64:
"_CFArrayAppendValue", referenced from:
_append_cert_to_array in libcurl.a(libcurl_la-darwinssl.o)
"_CFArrayCreate", referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-darwinssl.o)
"_CFArrayCreateMutable", referenced from:
_darwinssl_connect_step2 in libcurl.a(libcurl_la-darwinssl.o)
"_CFArrayGetCount", referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-darwinssl.o)
"_CFArrayGetValueAtIndex", referenced from:
_darwinssl_connect_common in libcurl.a(libcurl_la-darwinssl.o)
"_CFDataCreate", referenced from:
_append_cert_to_array in libcurl.a(libcurl_la-darwinssl.o)
Si je comprends qu'il veut obtenir des liens pour darwinssl, mais je ne sais pas où trouver ceux-ci.
Le readme pour boucle (https://github.com/biasedbit/curl-ios-build-scripts/blob/master/README.md) - ne mentionne cela dépend de libz.dylib et Security.framework mais ne donne pas d'indices sur ce qu'ils sont, quand et comment ai-je besoin, et comment les inclure.
P.S. l'inclusion régulière de curl fonctionne bien: g++ tornado.cc -o tornado -lcurl -std=c++11
En fait, on dirait qu'il a besoin de fonctionnalités du framework Foundation. Que se passe-t-il si vous ajoutez '-framework CoreFoundation' à' gcc'? Edit: Si cela dit que cela dépend de libz et de Security, alors essayez '-lz -framework Security' – rwols
cela n'a pas fait la différence –
Pensez à installer Macports et à utiliser' sudo port install curl'. Cela vous épargnera des tonnes de temps. – trojanfoe