gpt4 book ai didi

c++ - 在 OS X 上安装 twitcurl

转载 作者:太空狗 更新时间:2023-10-29 21:40:34 25 4
gpt4 key购买 nike

我试图在 OS X 上安装 twitcurl,但遇到了一些问题。

起初,运行 make 会返回 clang 错误:ld: unknown option: -soname。我查看了其他在 OS X 上遇到类似问题的用户的回复,发现了以下建议:

在 makefile 中,更改:

LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib

到:

LDFLAGS += -rpath=$(STAGING_DIR)/usr/lib

改变:

$(CC) -shared -Wl,-soname,lib$(LIBNAME).so.1 $(LDFLAGS) -o lib$(LIBNAME).so.1.0 .o -L$(LIBRARY_DIR) -lcurl

到:

$(CC) -dynamiclib -shared -Wl,-install_name,lib$(LIBNAME).dylib.1 $(LDFLAGS) -o lib$(LIBNAME).dylib .o -L$(LIBRARY_DIR) -lcurl

我试过了,但唯一的结果是另一个 clang 错误:clang: error: unknown argument: '-rpath=/usr/lib'

任何关于在 OS X 系统上安装 twitcurl 的建议将不胜感激。

----更新----

我只是想把我为完成这项工作所采取的所有步骤放在一个地方,以防任何有类似问题的 OS X 用户将来遇到这个问题。感谢 Andy Piper 提供的关键部分。

打开生成文件并替换:

LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib

与:

LDFLAGS += -rpath $(STAGING_DIR)/usr/lib

和:

$(CC) -shared -Wl,-soname,lib$(LIBNAME).so.1 $(LDFLAGS) -o lib$(LIBNAME).so.1.0 .o -L$(LIBRARY_DIR) -lcurl

与:

$(CC) -dynamiclib -shared -Wl,-install_name,lib$(LIBNAME).dylib.1 $(LDFLAGS) -o lib$(LIBNAME).dylib *.o -L$(LIBRARY_DIR ) -lcurl(请注意,这与另一位 OS X 用户在上面给出的建议有两个字符的不同)

运行make后,复制libtwitcurl.dylib/usr/lib/

下载 twitterClient(这也是我能找到的唯一代码示例)将是相同的,但要编译它或您自己的程序,您还需要链接 -lcurl。 (g++ appname.cpp -ltwitcurl -lcurl)

最后,一旦你编译了一个程序,创建的可执行文件中的路径名很可能是不正确的。使用 install_name_tool 更正它。对我来说,这看起来像:

install_name_tool -change libtwitcurl.dylib.1/usr/lib/libtwitcurl.dylib nameofexecutable

但如果这对您不起作用,请使用 otool 查找实际路径:

otool -L nameofexecutable

然后 -change 之后的第一个参数应该是 libtwitcurl 的错误路径。您可以在运行 install_name_tool 后再次使用 otool 以确保更改成功。

最佳答案

我可以编译共享/动态库,但需要对您的 Makefile 进行一些调整:

LDFLAGS += -rpath $(STAGING_DIR)/usr/lib

$(CC) -dynamiclib -shared -Wl,-install_name,lib$(LIBNAME).dylib.1 $(LDFLAGS) -o lib$(LIBNAME).dylib *.o -L$(LIBRARY_DIR) -lcurl

我现在还构建了关联的 twitterClient 实用程序。为此,我必须将 libtwitcurl.dylib 象征性地链接为 libtwitcurl.dylib.1,并更改代码中的消费者 key 和密码,以匹配来 self 帐户上 apps.twitter.com 的有效 key 。工作正常。

我假设您想从代码中使用 twitcurl 库? Twitter 维护着一个基于 Ruby 的实用程序,twurl ,它具有类似的功能,也可能有用。

关于c++ - 在 OS X 上安装 twitcurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com