Для лиги тупости пост... Не пучается makefile
Туплю второй день, стыдно даже публиковать под своим именем )
Нужно собрать мелкий проект под mingw (gcc.exe (MinGW.org GCC Build-2) 9.2.0), подключив билиотеку libGFL версии 3.40 (от разрабов XnView, последняя версия, и уже не разрабатывается - но для моей мелкой задачи её вполне хватает). Библиотека libgfl.lib находится в той же директории, что и сам компилируемый исходник.
Проблема возникает на этапе линковки.
Если тупо задать сборку из командной строки
gcc -opicinfo.exe picinfo.cpp -L . -lgflВсе молча собирается.
А вот если все то же самое, но в два этапа, и через мэйкфайл - то результат несколько иной.
Ниже мэйкфайл с удаленными комментариями и пустыми строками (небходимые по спецификации табуляции, не переносятся в пост, поэтому заменены пробелами):
OBJS = picinfo.o
CFLAGS=
LFLAGS= -L . -lgfl
all: picinfo.exe
picinfo.exe: $(OBJS)
g++ -o $@ $(LFLAGS) $^
%.o: %.cpp
g++ $(CFLAGS) -c $<
picinfo.o: picinfo.cpp
То почему-то на выходе получается куча неразрешенных ссылок на функции:
C:\Projects\Picinfo>make
g++ -c picinfo.cpp
g++ -o picinfo.exe -L. -lgfl picinfo.o
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x7): undefined reference to `gflLibraryExit@0'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0xca): undefined reference to `gflGetDefaultLoadParams@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x107): undefined reference to `gflLoadBitmap@16'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x12f): undefined reference to `gflGetErrorString@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x359): undefined reference to `gflBitmapHasEXIF@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x37f): undefined reference to `gflBitmapGetEXIF@8'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x4ca): undefined reference to `gflFreeEXIF@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x4db): undefined reference to `gflFreeFileInformation@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x4ec): undefined reference to `gflFreeBitmap@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x566): undefined reference to `gflSetPluginsPathname@4'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x56e): undefined reference to `gflLibraryInit@0'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: picinfo.o:picinfo.cpp:(.text+0x5a8): undefined reference to `gflEnableLZW@4'
collect2.exe: error: ld returned 1 exit status
makefile:10: recipe for target 'picinfo.exe' failed
make: *** [picinfo.exe] Error 1
Отчего проиходит такая печаль - ума не приложу... Что скажут аксакалы?
Лига программистов C/C++
63 поста4.8K подписчика
Правила сообщества
Соблюдайте правила Pikabu:
Помимо этого ЗАПРЕЩЕНО:
- Размещать в сообществе посты стиля "Подскажите как удалить вирус", "Подскажите как установить программу", "Подскажите как починить монитор/телевизор/мышь/тостер/стиральную машину" или "Напишите за меня лабу в универ". Пожалуйста размещайте такие посты вне этого сообщества или в соответствующих для этого сообществах.