首页 > 解决方案 > Fedora 找不到 libSDL2main.so(也不需要它):我可以为 Fedora 和 Ubuntu 使用一个 Makefile 吗?

问题描述

在 Fedora 上,我的命令g++ main.cpp sdl2-config --cflags -lSDL2main -lSDL2认为该SLD2main库不可用。没错:其他 SDL2 库在/usr/lib64; libSDL2main.so不是。

但我安装了所有明显相关的 SDL2 rpm。以下是我说的系统告诉我的内容yum install SDL2

Package SDL2-2.0.12-1.fc32.x86_64 is already installed.
Package SDL2-devel-2.0.12-1.fc32.x86_64 is already installed.
Package SDL2_image-2.0.5-3.fc32.x86_64 is already installed.
Package SDL2_image-devel-2.0.5-3.fc32.x86_64 is already installed.
Package SDL2_mixer-2.0.4-5.fc32.x86_64 is already installed.
Package SDL2_mixer-devel-2.0.4-5.fc32.x86_64 is already installed.
Package SDL2_ttf-2.0.15-4.fc32.x86_64 is already installed.
Package SDL2_ttf-devel-2.0.15-4.fc32.x86_64 is already installed.

如果我去掉 g++ 选项-lSDL2main,程序会链接并运行。

但这是一个问题。我希望我的 Makefile 通常可以在 Unix 系统上工作。我该怎么做——对 RedHat/Fedora 和 Debian/Ubuntu 使用相同的 Makefile?

标签: ubuntufedorasdl-2yum

解决方案


您应该从sdl2-config --libs或获取链接器标志pkg-config sdl2 --libs


推荐阅读