SDLを使おうとしています。 /Library/Frameworks
にSDL2.framework
というフォルダがあります。プロジェクトにファイルSDL.h
を含めたい。どうすればよいですか?私のコードは次のようになります:
// Example program:
// Using SDL2 to create an application window
#include <SDL.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
SDL_Window *window; // Declare a pointer
SDL_Init(SDL_INIT_VIDEO); // Initialize SDL2
// Create an application window with the following settings:
window = SDL_CreateWindow(
"An SDL2 window", // window title
SDL_WINDOWPOS_UNDEFINED, // initial x position
SDL_WINDOWPOS_UNDEFINED, // initial y position
640, // width, in pixels
480, // height, in pixels
SDL_WINDOW_OPENGL // flags - see below
);
// Check that the window was successfully made
if (window == NULL) {
// In the event that the window could not be made...
printf("Could not create window: %s\n", SDL_GetError());
return 1;
}
// The window is open: enter program loop (see SDL_PollEvent)
SDL_Delay(3000); // Pause execution for 3000 milliseconds, for example
// Close and destroy the window
SDL_DestroyWindow(window);
// Clean up
SDL_Quit();
return 0;
}
私が得るエラーは次のとおりです。
Aarons-MacBook-Air:SDL aaron$ g++ main.cpp
main.cpp:4:10: fatal error: 'SDL.h' file not found
#include <SDL.h>
^ 1 error generated.
SDLファイルを適切に含めるにはどうすればよいですか? SDL2.framework
、headers
、SDL.h
..の中にあります。
明らかにこのためのビルドスクリプトを作成する必要がありますが、重要な部分は次のとおりです。
-I/usr/local/include
またはヘッダーがインストールされる場所。
私は自家醸造を使用しました:
brew install sdl2
ライブラリを/usr/local/Cellar/
に配置します
したがって、libパスを指定する必要がある場合は、以下も追加します。
-L/usr/local/lib -lSDL2
また、インクルード行を#include <SDL2/SDL.h>
に変更しました
ヘッダーファイルはHeadersフォルダーの下にあるため、これを適切に含めるには、次のようにします。
clang++ -std=c++11 -stdlib=libc++ -I/Library/Frameworks/SDL2.framework/Headers/
しかし、私は自作でインストールすることをお勧めします:
brew install sdl2
Homebrewは/ usr/local/libおよび/ usr/local/includeの下にSDL2libSDL2.aファイルをインストールするため、ライブラリの-Lと-Iフラグを使用してこのライブラリパスを含めるだけで、/ usr /に検索を追加できます。ローカル/インクルードディレクトリ:
clang++ -std=c++11 -stdlib=libc++ main.cpp -I/usr/local/include -L/usr/local/lib -lSDL2 -o programfile
そして含める:
#include <SDL2/SDL.h>