Jak połączyć za pomocą GCC bez -l ani ścieżki kodowania dla biblioteki, która nie jest zgodna z konwencją nazewnictwa libNAME.so?

Mam bibliotekę współdzieloną, którą chcę powiązać plik wykonywalny z używaniem GCC. Biblioteka współdzielona ma niestandardową nazwę, która nie ma postaci libNAME.so, więc nie mogę użyć zwykłej opcji -l. (Zdarza się, że jest to również rozszerzenie Pythona i nie ma przedrostka „lib”).

Jestem w stanie przekazać ścieżkę do pliku biblioteki bezpośrednio do wiersza poleceń łącza, ale powoduje to, że ścieżka biblioteki jest na stałe wpisana do pliku wykonywalnego.

Na przykład:

g++ -o build/bin/myapp build/bin/_mylib.so

Czy istnieje sposób na połączenie z tą biblioteką bez powodowania, aby ścieżka była na stałe wpisana do pliku wykonywalnego?

questionAnswers(3)

yourAnswerToTheQuestion