Код: Выделить всё
ld -o myApp /usr/lib64/crt1.o myMain.o -L. -L/usr/lib64/qt-3.3/lib -L/usr/lib64 -L../myLibDir1 -L../myLibDir2 -lc -lqt-mt -lXext -lX11 -lm -lpthread -lmyLib1 -lmyLib2 -lmng -ljpeg -lpng12 -lz -lXi -lXrandr -lXrender -lXcursor -lXinerama -lXcursor -lXft -lfreetype -lfontconfig -lSM -lICE -ldl -lXau -lXdmcp -lXfixes -lexpat -lgcc_s -lstdc++ -llcms
Линковщик не находит трёх последних библиотек:
Код: Выделить всё
-lgcc_s -lstdc++ -llcms
, говорит
Код: Выделить всё
ld: cannot find -lgcc_s
(и с -lstdc++, -llcms то же самое).
Если компилять и линковать всё приложение с помощью команды g++, всё проходит хорошо. При этом
Код: Выделить всё
ldd myApp
...
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaaabef7000)
...
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aaaac47b000)
...
liblcms.so.1 => /usr/lib64/liblcms.so.1 (0x00002aaaaedcd000)
Необходимо слинковать прогу с помощью ld, вариант с g++ не подходит.
Почему линковшик не находит библиотек?