fedoraに環境変えたのでangolmoisのコンパイルやり直し
11ヶ月くらい前,こんなのを書いた.
kotonoha-pcg.hatenablog.com
今回はfedoraでやり直したので,それを書く.ライブラリ名が違うというのが主な要因.apt系だと慣れてるのもあるかもしれないが,基本的にパッケージ名+バージョン(バージョン名,devel等)で入れることができた一方,dnfでは検索結果は出してくれますが,先述した記事の内容ほどでは無い.例えば,pkg-configと打ってたものは-無しのpkgconfig,libsdl1.2-devはSDL-1.2.15-21.fc24.x86_64になっていた(libの有無は未検証).
主にインストールするリストは
dnf install pkgconfig SDL-1.2.15-21.fc24.x86_64 SDL-devel-1.2.15-21.fc24.x86_64 SDL_mixer-devel-1.2.12-11.fc24.x86_64 SDL_image-devel-1.2.12-14.fc24.x86_64
以上.これに加えてsmpegを入れようと思ったのだが,それっぽいのが確認できなかったのでrpmパッケージを取ってきて入れた.smpeg-devel-0.4.5-2.1.x86_64.rpmとsmpeg-0.4.5-2.1.x86_64.rpmを任意の所に入れてインストールする.あとはmakeした.
警告
今までの状態でmakeすると,次のような警告が出る.
[root@localhost angolmois]# make cc -Os -Wunused -Wall -W -std=c99 angolmois.c `pkg-config --cflags --libs sdl SDL_image SDL_mixer` `smpeg-config --cflags --libs` -o angolmois angolmois.c:254:19: 警告: ‘DIRSEP’ defined but not used [-Wunused-const-variable=] static const char DIRSEP = '/'; ^~~~~~
DIRSEPは定義されてるけど使えない(or使われてない?).ソース見ると182行目と254行目に同じ文があり,前者は'\\',後者は'/'だった.DIRSEP自体は他に検索文字列が見つからず,179行目に#ifdef _WIN32とあるので,無視しても問題ないか,と結論した.