SDL2 не построен на коде VS - PullRequest
0 голосов
/ 30 мая 2020

Я новичок в 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)

Любая помощь будет принята с благодарностью. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...