Mac OS X 上的 darwinssl 库位置是什么?
What is the darwinssl library location on Mac OS X?
我正在尝试编译 curl 并将其静态 link 到另一个项目。
我确实设法为我的 mac 架构 (x86_64) 编译了它并获得了 "libcurl.a"。
现在,当我尝试构建时:
#include <curl/curl.h>
int main()
{
CURL *curl = curl_easy_init();
}
with g++ tornado.cc -o tornado (path-to-where-it-is)libcurl.a -std=c++11
我得到:
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)
据我所知,它想为 darwinssl 获取 links,但我不知道从哪里获取这些。
curl 的自述文件 (https://github.com/biasedbit/curl-ios-build-scripts/blob/master/README.md) - 提到它取决于 libz.dylib 和
Security.framework 但没有提供任何关于它们是什么、我何时需要它们以及如何需要它们以及如何包含它们的线索。
P.S。常规卷曲包含工作正常:g++ tornado.cc -o tornado -lcurl -std=c++11
我抽空在 mac 上闲逛。这是对我有用的命令:
gcc main.cpp -I path/to/include path/to/libcurl.a -framework Foundation -lz -framework Security
基本上,您需要 -framework Foundation
、-lz
和 -framework Security
。
我正在尝试编译 curl 并将其静态 link 到另一个项目。 我确实设法为我的 mac 架构 (x86_64) 编译了它并获得了 "libcurl.a"。 现在,当我尝试构建时:
#include <curl/curl.h>
int main()
{
CURL *curl = curl_easy_init();
}
with g++ tornado.cc -o tornado (path-to-where-it-is)libcurl.a -std=c++11
我得到:
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)
据我所知,它想为 darwinssl 获取 links,但我不知道从哪里获取这些。
curl 的自述文件 (https://github.com/biasedbit/curl-ios-build-scripts/blob/master/README.md) - 提到它取决于 libz.dylib 和 Security.framework 但没有提供任何关于它们是什么、我何时需要它们以及如何需要它们以及如何包含它们的线索。
P.S。常规卷曲包含工作正常:g++ tornado.cc -o tornado -lcurl -std=c++11
我抽空在 mac 上闲逛。这是对我有用的命令:
gcc main.cpp -I path/to/include path/to/libcurl.a -framework Foundation -lz -framework Security
基本上,您需要 -framework Foundation
、-lz
和 -framework Security
。