我想在Linux上用twitter库编译一个C ++程序。
我目前正在使用twitcurl作为twitter API库并安装了g ++以及官方网站上列出的所有必要文件和软件包:http://code.google.com/p/twitcurl/wiki/WikiHowToUseTwitcurlLibrary
但是,当我使用此命令g++ twitterClient.cpp -ltwitcurl
编译程序时,出现此错误:cannot find -ltwitcurl
我还使用了CodeBlocks IDE来编译它,但是出现了这个错误:undefined reference to twitCurl::~twitCurl()
`
我的代码只包含几行:
#include <iostream>
#include "Twitter/Twitter.hpp"
using namespace std ;
int main ()
{
Twitter t ;
return 0 ;
}
我已经花了很多时间在这上面,但我无法解决问题。我应该怎么做才能在命令行和CodeBlocks上编译程序?
答案 0 :(得分:1)
$ g++ twitterClient.cpp -ltwitcurl
cannot find -ltwitcurl
这意味着您的编译器在其库目录中找不到libtwitcurl.so.1.
。
首先,确保正确构建 twitcurl 库并获取libtwitcurl.so.1.
文件,如下所示:
svn co http://twitcurl.googlecode.com/svn/trunk/libtwitcurl
cd libtwitcurl/
make
其次,确保将文件(或符号链接)放在编译器的一个库路径中:
cp libtwitcurl.so.1.0 /usr/lib/
您可以使用以下命令检查g ++库路径:
g++ --print-search-dirs | grep libraries
(/usr/lib/
通常在最后。)
如果您不希望/不能将文件放在编译器的库路径中,您还可以通过在g ++选项中添加libtwitcurl.so.1.
来告诉它在哪里找到-L/path/to/twitcurl/
,但它是如果文件已经在编译器的一个库路径中,则不需要。
答案 1 :(得分:0)
您需要指定twitter lib的路径:
g++ twitterClient.cpp -L/path/to/lib/dir -ltwitcurl