1

Я использую Visual Studio для кодирования программы на C++ с ее исходным репозиторием, управляемым SVN. Я пытаюсь, чтобы решение было приемлемым на нескольких компьютерах. Проблема в том, что библиотеки и каталоги включений различаются на обоих компьютерах.Проект VS2010 на нескольких компьютерах

Например, на одном из библиотек находятся (например) библиотеки e: \ devlib \ boost_46_1 \ libs \ regex \ build, E: \ devlib \ SDL-1.2.14 \ lib и т. Д., А на другом компьютере в c: \ programming \ lib \ boost_46_1 \ libs \ regex \ build и c: \ programming \ SDL-1.2.14 \ lib

Аналогичным образом для включений - которые имеют дополнительный уровень сложности, требующий сохранения папок в #includes в фактическом исходном коде (например, #include)

Как структурировать мои папки/исходное/vs решение/компьютер, чтобы решения могли быть скомпилированы на любом из моих компьютеров, без необходимости отдельного списка папки библиотеки и поддерживать разные папки проекта/решения для e ACH?

Я понимаю одно потенциально допустимое решение для включения библиотек в структуру папок источника, так что все папки библиотеки могут быть, например, «../libs» и «../inc» или что-то еще , Однако, учитывая большой объем (например) повышения, это решение нежелательно - особенно с контролем источника.

ответ

2

Поместите любые сторонние библиотеки в папку в своем решении, разместите ее под контролем источника и ссылкой из этой корневой папки решения.

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

+0

Должен ли я помещать их в SVN «extern» или что-то, чтобы у меня не было слишком много копий между проектами? – lochok

+0

Наличие копии в проекте дает вам возможность изолировать сторонние библиотеки проекта. Например, что, если у двух проектов должны быть разные версии? На мой взгляд, дополнительное пространство, используемое, является стоящим компромиссом. –

Смежные вопросы