2017-02-20 14 views
0


Итак, я новичок в использовании Visual Studio, и я пытаюсь создать проект для компиляции моей существующей программы. Программа уже компилируется на macOS с помощью Xcode. Структура папок проекта выглядит следующим образом:Рекурсивные пути включения в Visual Studio 2015

main folder 
    src 
    some code here 
    Debug 
     some code here 
    Utility 
     some code here 
     Special Utility Folder 
    Rendering 
     some code here 
     Rendering Utils 
... 

Когда я пытался загрузить проект на Visual Studio, у меня есть много ошибок, говоря о том, что файлы заголовки не могут быть найдены. Я провел некоторое расследование, и кажется, что пути включения не являются рекурсивными. Таким образом, чтобы включить файл из SRC/Utility я должен написать

#include "Utility/header.hpp" 

Но все кода в проекте используется включает в себя как

#include "header.hpp" 

Есть ли способ, чтобы получить эту работу в визуальном студия?

P.s. вручную добавляя все папки, поскольку их собственные пути включают работы, но будет больно поддерживать, поскольку проект растет, тем более, что большая часть моей работы будет выполнена в Xcode

+1

Включить пути не рекурсивный для компилятора _любой_ C++ Я в курсе. –

+0

Danged, если я знаю, почему это работает под X-Code. Вероятно, они делают что-то «полезное» с глаз долой. – user4581301

+0

@ user4581301 Это было мое предположение – BlueSpud

ответ

0

Вы можете установить пути включения для всех папки (не рекурсивный) в свойствах проекта:

Чтобы получить доступ к конфигурации проекта:

  1. щелкните правой кнопкой мыши на проекте и выберите пункт свойства.
  2. Выберите Свойства конфигурации-> C/C++ -> Общие.
  3. указан путь под Additional Include Directories: т.е. .DebugUtility и т.д ..

Может быть, вы также можете использовать инструмент CMD для создания включает в себя путь в текстовом файле (т.е. IncludePath.txt) , Внутри этого файла вы можете добавить папки включают:

/I "." 
/I ".." 
/I ".\Debug" 
/I ".\Utility" 

Затем установите путь под Additional Include Directories:

@IncludePath.txt 
+0

Вручную добавление каждого пути работает, как я уже говорил в оригинальном вопросе, но я искал, возможно, более элегантное решение – BlueSpud

+0

@BlueSpud Хорошо, добавлено обходное решение – Rama