Почему я не могу использовать внешнюю библиотеку ray lib?

Я пытался использовать внешнюю библиотеку 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 

Кстати, я меняю командную строку. Помогите пожалуйста.

"/opt/homebrew/cellar/raylib/5.0/include" - вы пропустили "-I", выше.
3CxEZiVlQ 12.04.2024 08:26

Или объединить их "-I/opt/homebrew/cellar/raylib/5.0/include".

3CxEZiVlQ 12.04.2024 08:27
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
145
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наверное, вот так

"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 12.04.2024 11:29

@RegularGuy Это означает, что у вас есть что-то странное в "command", не связанное с этим ответом.

HolyBlackCat 12.04.2024 11:30

Ох, это сработало, мне просто нужно было написать /usr/bin/clang++ вместо usr/bin/clang++ в «команде»

RegularGuy 12.04.2024 11:33

Другие вопросы по теме