Статические библиотеки связываются в wxWidgets статически, но приложения, использующие мою библиотеку, все еще требуют wxwidgets - PullRequest
2 голосов
/ 16 декабря 2009

Надеюсь, кто-нибудь может помочь мне здесь. Я использую Visual Studio 2005 и создаю статическую библиотеку, которая статически связывается в wxWidgets. У меня есть:

  1. статически скомпилированные wxWidgets в соответствии с их руководством
  2. включил каталог lib в мое свойство "Дополнительные каталоги библиотек"
  3. добавлено всех библиотек wxWidget в моем свойстве "Дополнительные зависимости"
  4. установить для моего свойства "Ссылки библиотеки ссылок" значение "Да"
  5. установить для оптимизации C ++ значение Отключено.

Я знаю, что некоторые из этих шагов не нужно было делать, я сделал это на рациональной основе "на всякий случай".

Хотя моя библиотека компилируется без помех, тестовое приложение, включающее мою статическую библиотеку, во время компоновки жалуется, что не может найти 'wxbase28.lib' (который я включил).

Должен заметить, что я полностью абстрагировал wxWidgets, поэтому в публичном API библиотеки ничего не говорится о wxWidget. Тестовое приложение не должно знать, что wxWidgets существует.

Моя крошечная библиотека выросла до 51 МБ, поэтому я чувствую, что библиотеки связаны между собой ... так почему мое тестовое приложение жалуется, что не может найти библиотеку wxWidgets?

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 декабря 2009

Это шаг ссылки в процессе сборки, который включает зависимые библиотеки: Когда вы создаете статическую библиотеку, она НЕ извлекает никаких рекурсивных зависимостей, так как шаг ссылки отсутствует.

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

0 голосов
/ 16 декабря 2009

Я не хочу предлагать очевидное, но включен ли wxbase28.lib в список зависимостей вашего тестового приложения?

...