Я пытался использовать внешнюю библиотеку ncurses, однако не нашел в учебниках и попробовал то же самое с ray lib, но это тоже не работает(((. Когда мой файл Task.json выглядит так, появляется эта ошибка:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ build active file",
"command": "/Library/Developer/CommandLineTools/usr/bin/clang++",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-lraylib",
"/opt/homebrew/cellar/raylib/5.0/include"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
/Users/username/tutorial/main.cpp:24:10: fatal error: 'raylib.h' file not found
#include <raylib.h>
^~~~~~~~~~
1 error generated.
Сборка завершена с ошибками.
* The terminal process failed to launch (exit code: -1).
* Terminal will be reused by tasks, press any key to close it.
Но когда это так: (Я изменил только эти части, поэтому показываю только их)
"command": "/opt/homebrew/cellar/raylib/5.0/include",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-lraylib"
],
Эта ошибка появляется:
/Library/Developer/CommandLineTools/usr/bin -fcolor-diagnostics -fansi-escape-codes -g /Users/username/tutorial/main.cpp -o /Users/username/tutorial/main -lraylib
/bin/sh: /Library/Developer/CommandLineTools/usr/bin: is a directory
Сборка завершена с ошибками.
* The terminal process failed to launch (exit code: -1).
* Terminal will be reused by tasks, press any key to close it.
* Executing task: C/C++: clang++ build active file
Кстати, я меняю командную строку. Помогите пожалуйста.
Или объединить их "-I/opt/homebrew/cellar/raylib/5.0/include"
.
Наверное, вот так
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"-I/opt/homebrew/cellar/raylib/5.0/include"
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-L/opt/homebrew/cellar/raylib/5.0/lib"
"-lraylib",
],
Используйте -I
, чтобы указать, где расположены файлы заголовков, используйте -L
, чтобы указать, где расположены файлы библиотеки (здесь я предполагаю, что они находятся в /opt/homebrew/cellar/raylib/5.0/lib), параметры библиотеки должны идти в конце .
Если вы собираетесь выполнять сборку с использованием Tasks.json, важно понимать различные параметры, которые можно предоставить g++.
он по-прежнему выводит это: usr/bin/clang++ -std=gnu++14 -fcolor-diagnostics -fansi-escape-codes -g -I/opt/homebrew/cellar/raylib/5.0/include /Users/username/tutorial/ main.cpp -o /Users/username/tutorial/main -L/opt/homebrew/cellar/raylib/5.0/lib -lraylib /bin/sh: usr/bin/clang++: такого файла или каталога нет
@RegularGuy Это означает, что у вас есть что-то странное в "command"
, не связанное с этим ответом.
Ох, это сработало, мне просто нужно было написать /usr/bin/clang++ вместо usr/bin/clang++ в «команде»
"/opt/homebrew/cellar/raylib/5.0/include"
- вы пропустили"-I",
выше.