Я новичок в C ++ и хотел создать игру с использованием библиотеки SDL2 в macOS . Я выполнил инструкции по установке и добавил каталог SDL2.framework в / Library / Frameworks. Но мне не удалось создать свой код с использованием кода VS, и вот код:
#include <SDL.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
cout << "not working" << endl;
else
cout << "working" << endl;
return 0;
}
, и это ошибка, которую я получаю при его создании:
ld: warning: directory not found for option '-F /Library/Frameworks -framework SDL2'
Undefined symbols for architecture x86_64:
"_SDL_Init", referenced from:
_main in test-f9f99c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The terminal process terminated with exit code: 1
Вот мои задачи. json:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "shell: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-F/Library/Frameworks -framework SDL2",
"-I/Library/Frameworks/SDL2.framework/Versions/A/Headers",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe",
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
},
]
}
Я получил несколько ответов на похожие вопросы, но не могу обойти эту проблему.
Странная вещь в этой проблеме заключается в том, что код работает нормально на терминале. Вот команда: g++ test.cpp -I/Library/Frameworks/SDL2.framework/Versions/A/Headers -framework SDL2 -F/Library/Frameworks -o test && "/Users/shrishshankar/Desktop/Projects/Space_Invaders/"test
(имя файла test. cpp)
Любая помощь будет принята с благодарностью. Заранее спасибо.