2016-05-30 28 views
21

Próbuję zbudować C/C++ w kodzie Visual Studio. Zainstalowałem C/C++ i wszystkie odpowiednie rozszerzenia.Kod Visual Studio includePath

#include <stdio.h> 
int main() { 
    printf("Test C now\n"); 
    return 0; 
} 

Ale jest zielona linia pod #include <stdio.h> mówiąc „Dodaj zawierać ścieżkę do ustawień”. Po kliknięciu przechodzi do "c_cpp_properties.json".

W jaki sposób i gdzie mogę dodać ścieżki włączenia w poniższych konfiguracjach?

"configurations": [ 
    { 
     "name": "Mac", 
     "includePath": ["/usr/include"] 
    } 
] 

Odpowiedz

24

Jak i gdzie mogę dodać zawierać ścieżki w konfiguracjach poniżej?

Lista jest listą rozdzielaną przecinkami, dlatego dodanie ścieżki włączenia powinno wyglądać podobnie;

"configurations": [ 
    { 
     "name": "Mac", 
     "includePath": ["/usr/local/include", 
      "/path/to/additional/includes", 
      "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include" 
     ] 
    } 
] 

Źródło; cpptools blog 31 March 2016.

Połączone źródło ma gif pokazujący format konfiguracji Win32, ale to samo dotyczy pozostałych.

Powyższy przykład zawiera ścieżkę SDK (OS X 10.11), jeśli Xcode jest zainstalowany.

Uwaga Uważam, że aktualizacja może zająć trochę czasu po zmianie ścieżki dołączania.

Rozszerzenie cpptools może być found here.

Dalsza dokumentacja (od Microsoft) na temat obsługi języków C++ w VSCode może być found here.


Dla zachowania (z dyskusji), są następujące podstawowe fragmenty dotyczące zawartości pliku tasks.json aby skompilować i wykonać albo C++ plik lub plik C. Pozwalają one na spacje w nazwie pliku (wymaga ucieczki od dodatkowych cytatów w jsonie przy użyciu \"). Powłoka jest używana as the runner, umożliwiając w ten sposób kompilację (clang...) i wykonanie (&& ./a.out) programu. Zakłada się także, że tasks.json "żyje" w lokalnym obszarze roboczym (w katalogu .vscode). Dalsze szczegóły task.json, takie jak obsługiwane zmienne itp., Mogą być found here.

Dla C++;

{ 
    "version": "0.1.0", 
    "isShellCommand": true, 
    "taskName": "GenericBuild", 
    "showOutput": "always", 
    "command": "sh", 
    "suppressTaskName": false, 
    "args": ["-c", "clang++ -std=c++14 -Wall -Wextra -pedantic -pthread \"${file}\" && ./a.out"] 
} 

Dla C;

{ 
    "version": "0.1.0", 
    "isShellCommand": true, 
    "taskName": "GenericBuild", 
    "showOutput": "always", 
    "command": "sh", 
    "suppressTaskName": false, 
    "args": ["-c", "clang -std=c11 -Wall -Wextra -pedantic -pthread \"${file}\" && ./a.out"] // command arguments... 
} 
+0

Pozwól nam [kontynuować tę dyskusję na czacie] (http://chat.stackoverflow.com/rooms/113606/discussion-between-niall-and-stdio-h). – Niall

+0

@ stdio.h. Polecam dobrą książkę o C, aby zagłębić się w języku; istnieje tutaj lista SO na http://stackoverflow.com/q/562303/3747990. Jeśli jesteś zainteresowany, istnieje również lista C++; http://stackoverflow.com/q/388242/3747990. Obie te listy zawierają co najmniej jedną książkę dostępną w Internecie, która pozwoli Ci na bieżąco i zapewnia świetny kontekst dla wielu innych materiałów, które znajdziesz na SO i innych stronach z samouczkami. Lubię tę listę, ponieważ są one listami kuratorowanymi, a nie tylko losowymi zrzutami z Internetu. – Niall

+0

Wielkie dzięki za opublikowanie tego. Oszczędza mi wiele minut! – sivabudh

3

Dla użytkowników Mac tylko zainstalowane wiersza polecenia Narzędzia zamiast Xcode, sprawdź katalog /Library/Developer/CommandLineTools/, na przykład ::

"configurations": [{ 
    "name": "Mac", 
    "includePath": [ 
     "/Library/Developer/CommandLineTools/usr/lib/clang/8.1.0/include/", 
     "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1/tr1/", 
     "/usr/include/c++/4.2.1", 
     "/usr/local/include", 
     "/usr/include" 
    ] 
}] 

Note: Można również generować lub edytować c_cpp_properties.json plik komendą C/Cpp: Edit Configurations z palety poleceń (⇧⌘P).

Powiązane problemy