1

最近、SDL 2 の調査を開始し、libstl2-devLinux にダウンロードしました (問題があれば Mint を使用しています)。

ただし、ヘッダーを含めると#include <SDL2/SDL.h>、vim はエラーを表示し続けますIn included file: 'begin_code.h' file not [clang: pp_file_not_found]。vim で coc を使用していることに注意してください。

いくつかの調査を行いましたが、問題を解決できませんでした。特に、この投稿に気付きましたが、質問はVSコードに関するもので、これをvimに適用する方法がわかりません。

以下は私のコードの一部です。

#include "board.h"
#include <iostream>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_timer.h>

void Board::help_init();
4

2 に答える 2

2

ほとんどの Linux ディストリビューションの SDL 開発パッケージには、コンパイラに渡すことができるインクルードとライブラリの場所/名前を照会できる、使用可能なpkg-configツールが含まれている必要があります。

g++ main.cpp `pkg-config --cflags --libs sdl2`

(または、バッククォートの代わりにサブコマンドのキャプチャに使用$()できます)

この Debian ボックスでpkg-configは、次のパス/フラグが返されます。

$ pkg-config --cflags sdl2
-D_REENTRANT -I/usr/include/SDL2

$ pkg-config --libs sdl2
-lSDL2

-Ipath は#include <SDL.h>& friends である必要があることを意味することに注意してください#include <SDL2/SDL.h>:

// wrong
//#include <SDL2/SDL.h>
//#include <SDL2/SDL_image.h>
//#include <SDL2/SDL_timer.h>
// right
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_timer.h>

ただし、何らかの理由で、SDL-image などの SDL アドオン ライブラリの Debian パッケージでは、pkg-config パッケージ名が大文字になっています。

g++ main.cpp `pkg-config --cflags --libs sdl2 SDL2_image`
于 2022-02-24T02:43:55.393 に答える