Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > GNU toolchain > mingw gcc: cannot find -l<libname>


Автор: leniviy 6.4.2008, 23:33
помогите пожалуйста. я пытаюсь скомпилировать один проект (roadsend php compiler) на mingw 5.1.3 gcc 3.4.5, но ошибки уже на стадии ./configure
проект использует libfcgi. 
Есть файл /usr/local/lib/libfcgi.a
./configure вызывает такую команду: 
Код

$ gcc -o conftest.exe -g -O2 conftest.c -lfcgi
U:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lfcgi
collect2: ld returned 1 exit status

а под линуксом эта команда выполняется.

если поменять на 
Код

$ gcc -o conftest.exe -g -O2 conftest.c -L/usr/local/lib -lfcgi

то все нормально. Почему gcc не смотрит в /usr/local/lib по умолчанию?

Автор: JackYF 6.4.2008, 23:45
Цитата(leniviy @  6.4.2008,  22:33 Найти цитируемый пост)
Почему gcc не смотрит в /usr/local/lib по умолчанию? 

встречный вопрос: а почему оно должно туда смотреть? /usr/lib - вот директория для библиотек. Поставил локально - изволь это объяснить компилятору.

Автор: leniviy 6.4.2008, 23:59
попробовал. один фиг, не работает
Код

$ mkdir /usr/lib
$ cp /usr/local/lib/libfcgi.a /usr/lib/
$ gcc -o conftest.exe -g -O2 conftest.c -lfcgi
U:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lfcgi
collect2: ld returned 1 exit status

Автор: t_gran 7.4.2008, 04:12
Набери
Код

./configure --help

Там посмотри параметры. Чаще всего за это отвечает параметр LDFLAGS (параметры для линкера)
Код

./configure LDFLAGS="-L/usr/local/lib"

Автор: archimed7592 7.4.2008, 07:43
Цитата(leniviy @  6.4.2008,  23:59 Найти цитируемый пост)
попробовал. один фиг, не работает

Я так понимаю речь о сборке под виндой? Там несколько иная трактовка этих /usr и пр.

Автор: t_gran 7.4.2008, 08:05
Не, ну как я писал выше, должно однозначно работать. Если же не получится тогда можно немного извратиться. Поправить скрипт configure. В начале должна быть переменная где прописываются параметры для линковщика, и прописать туда "-L/usr/local/lib".

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