Почему вы должны связать библиотеки и установить каталоги включения - PullRequest
0 голосов
/ 01 июля 2011

Привет, поэтому я немного запутался, почему в msVS ++ 2010 необходимо включать каталоги, когда все заголовочные файлы и файлы cpp находятся внутри статического библиотеки или проекта статической библиотеки в моем случае.

Я сделал проект статической библиотеки с помощью cmake, и исходный файл, которому мне сказали установить его, такой же, как мне сейчас говорят, чтобы сделать каталог включения ... похоже, у меня есть 2 из те же самые файлы cpp и header ... кроме статически включенных в моё решение ... ПОЧЕМУ?

Ответы [ 2 ]

3 голосов
/ 01 июля 2011

Поскольку VS ++ при абстрагировании базовой реализации не скрывает ее полностью.

Включение каталогов и библиотек предназначено для различных этапов процесса, которые традиционно обрабатываются различными программами.Включите каталоги препроцессором, библиотеки компоновщиком.Эти программы теперь называются (или частью?) VC ++, но его интерфейс по-прежнему показывает базовую структуру.

Существуют системы, которые позволяют помечать необходимые библиотеки в исходном коде (и, следовательно, в заголовке) с помощьюиспользование прагм.У них есть несколько недостатков:

  • нестандартный

  • вы не можете так же легко заменить библиотеки другой (скажем, отладка / инструментирование / выпуск, одиночныйрезьба / многопоточность, ...)

2 голосов
/ 01 июля 2011

Заголовочные файлы сообщают вам о функциях, которые вы вызываете.

Статические библиотеки включают код функции , которую вы вызываете, но не информацию о как их вызывать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...