основные инструкции о том, как создать .sln с простой библиотекой C ++ (без использования .net) и проектом C ++ с использованием этой библиотеки? - PullRequest
0 голосов
/ 20 января 2011

Я новичок в C ++.У меня есть простой консольный проект.с файлами классов внутри, которые используют boost (.libs) и openCV (dlls).Я хочу поместить все свои существующие классы в некоторое пространство имен и в отдельные проекты.Поэтому мне нужно руководство по разделению проекта приложения и библиотеки кода в среде Visual Studio внутри одного sln?

1 Ответ

2 голосов
/ 20 января 2011

Сначала вы создаете новый проект W32 (и решение) для вашего нового исполняемого файла (exe или dll).Выберите «Сохранить все» (иначе, если что-то пойдет не так, вы потеряете все).

После этого вы перейдете в обозреватель решений (в правом поле) и щелкните правой кнопкой мыши имя решения (непроект).Во всплывающем меню выберите «Добавить» -> «Новый проект».

Теперь вы создаете новый проект w32 (для новой библиотеки).В появившемся диалоге вы выбираете следующую, а на следующей странице вы выбираете статическую библиотеку (и некоторые другие опции, если хотите).Теперь выберите Finish, и новый проект будет добавлен в решение.Теперь выберите сохранить все.

Повторите эти шаги для всех библиотек, которые вы хотите создать (и не забудьте сохранить вещи).

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

Перейдите в свойства этого проекта и выберите Все конфигурации в поле со списком в левом верхнем углу.

Теперь выберите параметр linker и там выберите input option.Теперь выберите дополнительные библиотеки на странице свойств и там выберите edit .В появившемся диалоговом окне вы можете добавить все библиотеки-имена, которые вы только что создали.Если вам придется собирать сейчас, компоновщик будет жаловаться, что не может найти эти библиотеки, поэтому требуется еще один шаг.

В компоновщик -опции выберите Общие и вНа странице свойств есть свойство Дополнительные пути к библиотекам .Здесь вы должны указать путь ко всем этим библиотекам, выбрав edit .В открывшемся диалоговом окне есть кнопка Macros, которая предоставляет большой список макросов, которые можно использовать для указания путей (например, $ (SolutionDir) и $ (Configuration)).

expample: $ (SolutionDir)\ lib1 \ $ (Конфигурация)

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

РЕДАКТИРОВАТЬ, ОБРАТИТЕ ВНИМАНИЕ: если в библиотеке нет исходного кода,Сборка будет успешной, но библиотека не будет создана, поэтому вам нужен некоторый код.В противном случае библиотека все равно не будет найдена.

Теперь есть еще один шаг.Ваши библиотеки должны предоставлять заголовочные файлы для использования библиотек, но если вы включите их в исходный код, компилятор не сможет их найти.Вам необходимо добавить дополнительные каталоги include в свойства ваших исполняемых проектов.Перейдите к опции C / C ++ в свойствах исполняемого проекта, и там вы найдете дополнительные каталоги включения , и там вы выберете edit и предоставите каталоги, содержащие заголовочные файлы, которые вынужно.

пример: $ (SolutionDir) \ lib1

Теперь все готово.Кстати, попробуйте по одной библиотеке за раз, чтобы вы несколько раз проходили этот процесс, изучая его и приобретая опыт.

Надеюсь, этого будет достаточно.

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