Не могу скомпилировать C ++ Hello World с Clang на Mac Sequoia 15.0 и VS кодC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Не могу скомпилировать C ++ Hello World с Clang на Mac Sequoia 15.0 и VS код

Сообщение Anonymous »

Я обновил Xcode (ст. 16.0) и убедился, что инструменты командной строки XCode (Br/Brseect Select 2409). /> С командой Clang ++-Возвращение < /code> Я вижу выход: < /p>
Apple clang version 16.0.0 (clang-1600.0.26.3)
Target: arm64-apple-darwin24.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Если я следую учебному пособию Hello World по адресу https://code.visualstudio.com/docs/cpp/config-clang-mac, я вижу красный squiggle для первого включения с ошибкой:

#include errors detected. Please update your includePath.
< /code>
Я широко искал по своей файловой системе и полюбил многие каталоги с iostream, каждая из которых соответствует версии macos./Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1
< /code>
Но когда я пытаюсь создать, я все еще получаю ошибку: < /p>
fatal error: 'iostream' file not found
< /code>
Документация звучит так, если у меня есть правильный путь к композитору, тогда он должен работать: < /p>

Расширение использует настройку CompilerPath, чтобы вывести путь к стандартным файлам библиотеки C ++. Привет, код мира, он работает нормально. Я новичок в C ++ и не уверен, как выполнить устранение неполадок и правильно указывать расширение кода VS C/C ++ на стандартную библиотеку.
c_cpp_properties file для справки:

{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1"
],
"defines": [],
"macFrameworkPath": [
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "macos-clang-arm64"
}
],
"version": 4
}
< /code>
tasks.json файл для справки: < /p>
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",
"-pedantic-errors",
"-Wall",
"-Weffc++",
"-Wextra",
"-Wconversion",
"-Wsign-conversion",
"-ggdb",
"-Werror",
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
< /code>
Запуск Clang ++ непосредственно в командной строке создает этот вывод: < /p>
clang++ -std=c++17 -g /Users/todd/temp/vscode-c++/hello-world.cpp -o /Users/todd/temp/vscode-c++/hello-world
< /code>
/Users/todd/temp/vscode-c++/hello-world.cpp:1:10: fatal error: 'iostream' file not found
1 | #include
| ^~~~~~~~~~
1 error generated.

Обновление:
Теперь я могу получить код мира Hello для компиляции через командную строку сейчас с аргументом iSystem .
clang++ -std=c++17 -isystem /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 hello-world.cpp -o h
ello-world


Подробнее здесь: https://stackoverflow.com/questions/789 ... nd-vs-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»