编译和链接Leda 6.3

时间:2012-10-30 18:34:05

标签: c++ opensuse leda

我是LEDA的新手,我正在使用OpenSuse 12.1上的LEDA6.3免费版。 首先,我尝试在手册http://www.leda-tutorial.org/en/official/ch01s02.html中编写一个简单的代码“Hello LEDA world”。

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

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

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

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

编译阶段工作正常,我生成了.o文件。 但是他们提到这个文件需要链接到LEDA库,免费版中唯一可用的库是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

我想知道是否有人可以帮我解决如何将文件与leda库链接的问题?所以我可以让它运行。

谢谢大家。

1 个答案:

答案 0 :(得分:0)

库文件不太可能被调用liblibleda.aliblibleda.so:当链接器看到-l<name>形式的选项时,它将搜索名为{{1}的库文件(对于共享库)或lib<name>.so(对于静态库)。您可能只想使用选项lib<name>.a(除非LEDA开发人员做了一些聪明的事情并将库称为-lleda,因此您使用libeda.a)。

这是否有效还取决于安装和构建之间的编译器选项是否一致。