我是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库链接的问题?所以我可以让它运行。
谢谢大家。
答案 0 :(得分:0)
库文件不太可能被调用liblibleda.a
或liblibleda.so
:当链接器看到-l<name>
形式的选项时,它将搜索名为{{1}的库文件(对于共享库)或lib<name>.so
(对于静态库)。您可能只想使用选项lib<name>.a
(除非LEDA开发人员做了一些聪明的事情并将库称为-lleda
,因此您使用libeda.a
)。
这是否有效还取决于安装和构建之间的编译器选项是否一致。