Компиляция и компоновка Leda 6.3

Я новичок в LEDA и работаю над бесплатной версией LEDA6.3 для OpenSuse 12.1.
Для начала я попытался написать простой код «Hello LEDA world», как в руководстве http://www.leda-tutorial.org/en/official/ch01s02.html.

#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

Решение

Вряд ли файл библиотеки называется liblibleda.a или же liblibleda.so: когда компоновщик видит опцию формы -l<name> он будет искать файл библиотеки с именем lib<name>.so (для общих библиотек) или lib<name>.a (для статических библиотек). Вы, вероятно, просто хотите использовать опцию -lleda (если разработчики LEDA не сделали что-то умное и не назвали библиотеку чем-то вроде libeda.a так что вы бы использовали -leda).

Будет ли это работать, также будет зависеть от согласованности параметров компилятора между установкой и вашей сборкой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]