Я хотел бы знать, почемуг ++ ссылки библиотека ЛД не
g++ test1.o test2.o -o test.x -lgtk-x11-2.0
работы, в то время как
ld 'r test1.o test2.o -o test.o -lgtk-x11-2.0
дает:
ld: cannot find -lgtk-x11-2.0
, если я явно не указать путь, добавив -L/usr/lib/i386-linux-gnu
I попробовал все, добавляя путь к $LD_LIBRARY_PATH
или к ld.so.conf
, но ничего не работает, и я не могу объяснить себе разницу между двумя вызовами.
В руководстве л.д. указано:
Множество путей по умолчанию поиск (без указания с `-L ') зависит от режима эмуляции л.д. используется, а в некоторых случаях и на как это было настроено
, но при попытке использования различных эмуляций (с использованием эмуляции -m *) подразумевается segfault (возможно, поскольку эмуляция по умолчанию elf_i386 является правильной).
Можете ли вы помочь мне пролить свет на эту тему?