Я пытаюсь спроектировать общую библиотеку общих библиотек, используя g ++, в надежде упростить мои сценарии компиляции и упростить процесс обновления в будущем, но я все еще новичок в лучшем случае с инструментами GNU и написанием библиотек.,Может ли кто-нибудь дать совет о том, возможна ли следующая идея с g ++?
Для удобства рассмотрим следующую схему файловой системы:
main.cpp
libraryX/
libraryX/libX.so
libraryX/libraryY/
libraryX/libraryY/libY.so
libraryX/libraryZ/
libraryX/libraryZ/libZ.so
Моя цель - иметь возможность косвенно ссылаться с помощью каскадированияотносительные пути.Например, main.cpp ссылается на libraryX / libX.so, который ссылается на libraryY / libY.so и libraryZ / libZ.so.Можно ли связать main.cpp только с libX.so и использовать функции, определенные в libY.so и libZ.so?
Если да, не могли бы вы привести пример флагов, которые понадобятся для этого?Я пробовал варианты следующей команды, используя различные источники от Google, но безрезультатно:
g++ -shared -fPIC -Wl-rpath=libraryX -LlibraryX -lX.so main.o -o executable
Любые рекомендации или ссылки очень ценятся.