坚持使用twitcurl

时间:2011-09-29 10:52:35

标签: c++ twitter openframeworks

这个问题已经反复出现,因为我已经学习了关于unix系统的g ++的一些事情(对不起,如果我搞砸了任何人)。

对于我目前正在尝试完成的项目,我想让twitcurl运行Xcode和OpenFrameworks。如果有人设法做到这一点,请与我分享这个神秘的壮举。

以下是我坚持的一些事情:

从他们的wiki中反复说出一些说明

  • 下载库源
  • 使用visual C ++或make构建twitcurl库(它们也是cmake)。
  • 在您的Twitter应用程序中包含twitcurl.h和curl标题,并链接到twitcurl.lib和libcurl.lib / libcurl.dll。

这看起来很简单但是当我创建库时,没有twitcurl.lib。生成了一个不同的文件libtwit.a,我认为它必须是OSX所需要的(因为安装将它与标题一起放在usr/local/中)。然而,如果我尝试在标题中包含twitcurl.h并创建一个twitCurl对象,那么我将获得更多未定义的符号

Undefined symbols for architecture i386:
"twitCurl::~twitCurl()", referenced from:
  testApp::setup()     in testApp.o
"twitCurl::twitCurl()", referenced from:
  testApp::setup()     in testApp.o
ld: symbol(s) not found for architecture i386

我现在假设twitcurl用于64位(我已经尝试添加CFLAGS = -m32,但它失败了),据我所知,Openframeworks目前只有32位。这意味着twitcurl对我来说可能不是一个选择,但是,如果有人知道如何请让我知道!

提前致谢。

3 个答案:

答案 0 :(得分:0)

你可能最好重新编译twitcurl,最后我看了(3个月前),它是用VC6编译的,它有自己的方法来修改C ++符号,所以lib不能正确链接到g ++。

然后您也可以直接导入它,然后不需要担心链接到libs,但是在集成到已经构建的系统之前,在一个小的演示应用程序中进行测试是个好主意,就像你一样知道错误是在你身边还是其他地方。

此外,当遇到此类问题时,完全编译器错误比仅描述问题更有帮助。

答案 1 :(得分:0)

您发布的错误消息是链接器的冗长方式告诉您它正在寻找curl_easy_setopt函数的定义,这是libcurl的一部分。将-lcurl添加到g++行应该解决这个问题(告诉链接器在libcurl中链接)。

但是,twitcurl附带一个Makefile,它已经这样做了。另外,如果你试图在那里建立一个共享库,那你就错了......

答案 2 :(得分:0)

也许您可以尝试使用Twitter的openFrameworks插件xTwitter来获取您的推特功能。得到它:http://forum.openframeworks.cc/index.php/topic,2750.0.html