2016-10-01 2 views
0

Я использую маршрутизатор Asus (на основе ARMv7 proc) с Advanced Tomato, установленным , на нем, как на платформе разработчика ARMv7. Я устанавливаю компилятор (gcc - 5.4.0-1) плюс зависимости и libFTDI (libftdi1 - 1.3-1) из OpenWRT Linux repo. OpenWRT не предоставляет libftdi-dev, поэтому я скопировал файл ftdi.h с страницы загрузки libFTDI в/opt/include напрямую. Я пытаюсь скомпилировать программу, взятую непосредственно из образцов libFTDI. Команда Компилятор:Программа компиляции с открытым исходным кодом libFTDI

gcc -v -Wl,-rpath=/opt/usr/local/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/opt/lib -O2 -pipe -march=armv7-a -mtune=cortex-a9-fno-caller-saves -mfloat-abi=soft -l ftdi1 d.c -o d 

Но компиляция терпит неудачу, потому что:

/opt/bin/ld: cannot find -lftdi1 

Но есть /opt/usr/local/lib/libftdi1.so связана с libftdi1.so.2

Мой LD_LIBRARY_PATH выглядит следующим образом:

/lib:/usr/lib:/usr/local/lib:/opt/lib:/opt/usr/lib:/opt/include:/opt/usr/local/lib:/opt/usr/include 

Так что проблема i s?

+0

Если вы испытываете к чинить/Opt/USR/местные/Библиотека/в поисковых _runtime_ путей, howcome вас» re также не передавать его как путь поиска по ссылке? На самом деле, вам будет намного лучше с инструментальной цепочкой, которая на самом деле правильно настроена для среды, в которой вы ее запускаете. – Notlikethat

+0

Бах, неправильная цель обмана. Хорошо, [возьмите выбор, есть только ~ 2300] (http://stackoverflow.com/search?q=ld+cannot+find+is%3Aq) ... – Notlikethat

+0

[Это, наверное, лучший] (http : //stackoverflow.com/q/16710047/3156750) – Notlikethat

ответ

0

Я не знаю, почему (возможно, ошибка), но для компилятора, взятого из OpenWRT repo, ДОЛЖЕН иметь библиотеку в /opt/lib. Так просто скопируйте файл libftdi1.so.2.3.0 и привязывая его к libftdi1.so решению проблемы. Это означает, что он неправильно использует переменную LD_LIBRARY_PATH. Наконец компиляции команда выглядит следующим образом:

gcc -v -Wl,-rpath=/opt/usr/local/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/opt/lib -O2 -pipe -march=armv7-a -mtune=cortex-a9 -fno-caller-saves -mfloat-abi=soft -l ftdi1 arco.c -o arco 

С моей точки зрения - тема закрыта

Смежные вопросы