2012-10-30 91 views
0

我是LEDA的新手,我正在开发OpenSuse 12.1上的LEDA6.3免费版。 作为一个开始,我试图编写一个简单的代码“Hello LEDA world”,如手册http://www.leda-tutorial.org/en/official/ch01s02.html编译和链接Leda 6.3

#include <LEDA/string.h> 
#include <iostream> 

using leda::string; 
using std::cout; 

int main() 
{ 
    string msg = "Hello LEDA world!"; 

    cout << msg << "\n"; 
} 

编译阶段工作正常,我生成.o文件。 但他们提到,该文件需要链接到勒达图书馆和免费版本唯一可用的库是libleda.a和libleda.so

我尝试使用下面的命令链接:

g++ -o welcome welcome.o -L$LEDAROOT -llibleda 

我得到的是:

/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -llibleda 

我想知道,如果有人可以帮助我如何我的文件与勒达库链接?所以我可以让它运行。

谢谢大家。

回答

0

这是不可能的库文件被称为liblibleda.aliblibleda.so:当链接器发现的形式-l<name>的一个选项,它会为命名lib<name>.so(共享库)库文件或lib<name>.a(静态库)搜索。您可能只想使用选项-lleda(除非LEDA开发人员做了一些巧妙的操作,并将库称为libeda.a,因此您需要使用-leda)。

这是否正常工作还取决于编译器选项在安装和构建之间是否一致。