Как дополнительно зависеть от общего объекта с gcc?

Во-первых, я не знаю, существует ли решение моей проблемы вообще.

У меня есть следующая ситуация:

  • Я разработал библиотеку платформы, которая зависит от нескольких других библиотек для определенного аппаратного доступа и т.д.
  • До сих пор эта библиотека платформы была только статически связана против.
  • Для исполняемого файла, который пользуется библиотекой платформы только зависимости кода, который на самом деле используется исполняемым файлом, должны быть связаны. (Если я не получаю доступ к определенным аппаратным средствам вообще, я не должен зависеть от его связанных библиотек.)

Теперь я должен также сделать общий объект библиотеки платформы. Также зависимости доступны как совместно использованные библиотеки, таким образом, нет никакой потребности ни в каком статическом подключении.

Проблема я имею теперь:

  • При создавании приложения, которое связывается динамично с библиотекой платформы, я должен или связать все зависимости динамично с библиотекой платформы или приложением. (Иначе я получаю неопределенные ссылочные жалобы от ld),

Мои вопросы:

  • Там какой-либо путь состоит в том, чтобы проигнорировать определенные зависимости от общего объекта, если я знаю, что мое приложение не будет использовать кода библиотеки платформы, которая зависит от этого общего объекта?

  • Там какой-либо путь состоит в том, чтобы сделать это без или с минимальными изменениями кода? (компоновщик / переключатели компилятора)

Мне также нужно статическое подключение, как описано в исходной ситуации для тихой работы.

Дополнительная информация:

  • Операционная система: Linux (Debian Lenny)
  • Компилятор: gcc-4.3
5
задан Hanno S. 5 August 2010 в 11:20
поделиться