
私はlesson_1を練習しようとしています https://tutorialsplay.com/opengl/2014/04/23/textured-cube/
私はcube.cというコードを実行すると、
cube.c:16:21: fatal error: SDL/SDL.h: No such file or directory
#include <SDL/SDL.h>
^
compilation terminated.
私はSDL2を以下のガイドに従ってインストールしました。 https://github.com/PluginIO/EX3/wiki/Setting-up-SDL2-in-Ubuntu-12.10
私は14.04を使用していますが...
SDL2 のインストールは成功し、エラーは発生しませんでした。
SDL.hファイルは「/usr/local/include/SDL2」にあります。
コマンドでフルパスリンクを強制的に使用しようとしました
gcc cube.c -lglut -lGL -lGLU -l/usr/local/include/SDL2
の代わりに
gcc cube.c -lglut -lGL -lGLU -lSDL
しかし、すべて無駄でした...
このリンクの問題の解決策を知っている人はいますか?
muru が指摘したように、大文字に変更したところ、「エラー: 不明な型名 'SDL_keysym'」というメッセージが表示されましたが、これは機能したことを意味します。
私が発見したもう一つの方法は
私が変更され
#include <SDL/SDL.h>
に
#include <SDL2/SDL.h>
「致命的なエラー: SDL/SDL.h: そのようなファイルまたはディレクトリはありません」は表示されなくなりました。これで、今のところは解決したと見なします。ただし、次のエラーが発生しており、別のスレッドに投稿されます。
cube.c:105:22: error: unknown type name ‘SDL_keysym’
void handleKeyPress( SDL_keysym *keysym )
^
cube.c: In function ‘main’:
cube.c:239:5: error: unknown type name ‘SDL_VideoInfo’
const SDL_VideoInfo *videoInfo;
^
AB: ご提案いただいたコマンドの出力を以下に貼り付けました。
gcc cube.c `pkg-config --cflags --libs sdl`
Package sdl was not found in the pkg-config search path.
Perhaps you should add the directory containing `sdl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sdl' found
gcc cube.c `pkg-config --cflags --libs sdl2`
cube.c:105:22: error: unknown type name ‘SDL_keysym’
void handleKeyPress( SDL_keysym *keysym )
^
cube.c: In function ‘main’:
cube.c:239:5: error: unknown type name ‘SDL_VideoInfo’
const SDL_VideoInfo *videoInfo;
^
errors continue....
答え1
おそらくすでにライブラリはインストールされていると思いますが、完全性を期すために再度手順を示します。
SDL2
sudo apt-get install libsdl2-dev
SDL1
sudo apt-get install libsdl1.2-dev
次のようにコンパイルを開始します。
SDL2
gcc cube.c `pkg-config --cflags --libs sdl2`
SDL1
gcc cube.c `pkg-config --cflags --libs sdl`
サンプル出力:
% pkg-config --cflags --libs sdl
-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -lSDL
% pkg-config --cflags --libs sdl2
-D_REENTRANT -I/usr/include/SDL2 -lSDL2