2014-09-01 3 views
3

У меня есть исходный код для библиотеки C++ (ее версия Box2D)
Я хотел бы добавить ее часть в новый проект и построить его на .dllКак импортировать файлы со структурой каталога в визуальную студию 2013

Однако, когда я добавляю каталог файлов, которые я хочу в новый проект, он добавляет их все в корень проекта и, как результат, большинство, если утверждения include ошибочны .. например ...

#include <Box2D/Dynamics/b2Body.h> 
#include <Box2D/Dynamics/b2Fixture.h> 
#include <Box2D/Dynamics/b2World.h> 

Часть «Box2D/Dynamics /» теперь ошибочна.
Я добавляю новые файлы, помещая каталог, содержащий файлы, которые я хочу в новый каталог проекта, затем нажимаю кнопку «показать все файлы», затем нажимаю на папку и говорю «включить в проект».

Heres what первоначальный проект (от которого я копирование каталогов файлов) выглядит ..
enter image description here

и Херес, что мой новый проект выглядит. Как вы можете видеть весь проект «плоский» всех файлы находятся в корневом каталоге проекта (хотя в реальной директории проекта структура подкаталога все еще присутствует)
enter image description here

ТОГО Я всегда находил этот файл аспект управления визуальной студией странный и путающий

ответ

1

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

VS2013 использует projectFile.vcxproj.filters файл для управления фильтрами. Вы можете попробовать скопировать этот файл (или вручную создать его) в новый каталог, а затем импортировать код/​​заголовок/другие файлы. AFAIK, VS должен выбрать правильную папку для файла, просмотрев расширение файла.

0

Я использую VS2013. Похоже, что мастер создания нового проекта из существующего кода сохранит существующую структуру каталогов исходного дерева, если вы создадите проект в нестандартном местоположении; то есть где-то кроме:

C:\Users\*yourUserName*\Documents\Visual Studio 2013\Projects 

Вот как я импортирован существующий C++ исходного дерева в VS2013:

  1. File> New> Project Из существующего кода ...
  2. Выберите Visual C++, то нажмите кнопку Далее
  3. Установите файл проекта в нечто иное, чем C: \ Users * yourUserName * \ Documents \ Visual Studio 2013 \ Projects
  4. Используйте кнопку «Добавить», чтобы добавить исходное дерево. Вы можете просто добавить корень исходного дерева, и все ваши подкаталоги будут сохранены.
  5. Заполните остальные параметры мастера, как вы сочтете нужным, и нажмите кнопку «Готово».

Как отметили другие, кнопка Показать все файлы (или проект> Показать все файлы) переключает между древовидным представлением и «другим» видом источников в обозревателе решений.

0

Я сделал расширение для этой цели: https://visualstudiogallery.msdn.microsoft.com/5a3251d7-3228-4813-a67e-6b9cc83d0507

Источники быть здесь: https://github.com/Dllieu/VisualStudioCppExtensions

После того, как вы импортировать все ваши файлы (например, такие же как ваш второй скриншот), вам просто нужно щелкнуть правой кнопкой мыши на вашем C++ и нажмите «Сгенерировать фильтры проектов C++», он создаст весь фильтр для репликации иерархии папок ваших файлов.

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