Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > eclipse C++ g++ линкер внешняя библиотека.


Автор: transserg 28.6.2011, 12:40
привет всем. (надеюсь не промахнулся разделом).
суть вопроса в том ,что не могу настроить проект чтоб программа линковалась с библиотекой libftd2xx.so.
если писать полный путь до библиотеки он ее не видит. если просто имя тоже не видит. добавлял в свойствах проекта в G++ Linuker->Libraries.
получаю такой лог сборки
Код


**** Build of configuration Debug for project psoc_programmer ****

make all 
Building target: psoc_programmer
Invoking: GCC C++ Linker
g++  -o "psoc_programmer"  ./src/Menu.o ./src/Menu_test.o ./src/psoc_programmer.o  ./src/programmer/HEXParser.o ./src/programmer/adapter.o ./src/programmer/device.o ./src/programmer/logs.o ./src/programmer/manageadapters.o ./src/programmer/protocol.o   -l/usr/local/lib/libftd2xx.su
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../../i686-pc-linux-gnu/bin/ld: cannot find -l/usr/local/lib/libftd2xx.su
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [psoc_programmer] Ошибка 1

**** Build Finished ****


файл библиотеки присутствует по заданному пути.
в чем может быть ошибка? 

Автор: xvr 28.6.2011, 12:56
Цитата(transserg @  28.6.2011,  12:40 Найти цитируемый пост)
cannot find -l/usr/local/lib/libftd2xx.su

А почему .su?

-l задана неправильно, должно быть так:
Код

-L/usr/local/lib -lftd2xx
-L указал для полноты, ld и так будет искать библиотеки по этому пути. Если же libftd2xx.so лежит где то в другом месте, то -L с путем на нее необходим

Автор: transserg 28.6.2011, 13:27
всетаки so но с ним тоже ошибка.
а вот второй вариант помог. не знал что надо писать имя без "lib"

Автор: bsa 5.7.2011, 16:41
если необходимо использовать именно файл библиотеки (например, когда отсутствует приставка lib, или лень писать -L...), то можно просто указать полное имя - без ключа -l:
g++  -o "psoc_programmer"  ./src/Menu.o ./src/Menu_test.o ./src/psoc_programmer.o  ./src/programmer/HEXParser.o ./src/programmer/adapter.o ./src/programmer/device.o ./src/programmer/logs.o ./src/programmer/manageadapters.o ./src/programmer/protocol.o   /usr/local/lib/libftd2xx.so

Автор: greenbrain 9.8.2011, 11:55
Сюрреализм ситуации - та же проблема, та же библиотека

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)