1

这个问题来来回回,因为我已经了解了一些关于 g++ 的关于 unix 系统的东西(对不起,如果我弄乱了任何人)。

对于我目前正在尝试完成的项目,我想让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 可能不是我的选择,但同样,如果有人知道如何请告诉我!

提前致谢。

4

3 回答 3

0

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

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

于 2011-09-29T20:38:55.310 回答
0

你可能会很好地重新编译 twitcurl,上次我看(3 个月前),它是用 VC6 编译的,它有自己的方式来处理 C++ 符号,所以库不会正确链接到 g++。

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

此外,当涉及到此类问题时,确切的编译器错误比仅仅描述问题更有帮助。

于 2011-09-29T16:08:35.463 回答
0

也许你可以试试 ofxTwitter,一个用于 twitter 的 openFrameworks 插件,来获得你的 twitter 功能。在这里得到它:http: //forum.openframeworks.cc/index.php/topic,2750.0.html

于 2011-10-03T12:16:22.810 回答