c++ - 使用 CMake 为 Fedora 23 构建 SFML 时出错 [xcb-image not found]

标签 c++ cmake sfml fedora-23

[第一个错误已修复,另一个在帖子末尾]

你好,在此先感谢,我在尝试为我的 Fedora 23 系统构建 SFML 时遇到问题,所以我可以继续我在 Linux Mint 中开发的游戏(我更喜欢 fedora,我希望它适用于Debian 和 openSUSE 发行版)。当我在 CMake GUI 中构建 SFML 时出现问题,它给了我错误:

Could NOT find LIBXCB_IMAGE (missing:  LIBXCB_IMAGE_LIBRARY) 
CMake Error at cmake/Modules/FindXCB.cmake:93 (message):
  xcb-image not found
Call Stack (most recent call first):
  src/SFML/Window/CMakeLists.txt:202 (find_package)


Configuring incomplete, errors occurred!

我使用“locate”关键字检查了 xcb-image 是否存在,它返回了:

[hunter@localhost ~]$ locate xcb-image 
/usr/lib/libxcb-image.so.0
/usr/lib/libxcb-image.so.0.0.0 /usr/lib64/libxcb-image.so.0
/usr/lib64/libxcb-image.so.0.0.0

我还尝试重新安装 libxcb 以查看是否可以修复它,但没有雪茄。

是的,我阅读了 SFML 提供的教程并确保所有内容都已安装,并且我也遵循了正确的步骤。 link

知道为什么它会给我这个错误吗?编译器是正常的 Fedora 23 gcc-c++ 安装...如果需要,我会提供更多信息。


  • 编辑 1

通过安装“xcb-util-image-devel”修复

我能够修复它;但现在出现新错误:

UDev not found.
UDev: You can specify includes: -DUDEV_PATH_INCLUDES=/opt/udev/include
      currently found includes: UDEV_INCLUDE_DIR-NOTFOUND
UDev: You can specify libs: -DUDEV_PATH_LIB=/opt/udev/lib
      currently found libs: UDEV_LIBRARIES-NOTFOUND
CMake Error at cmake/Modules/FindUDev.cmake:49 (MESSAGE):
  Could not find UDev library
Call Stack (most recent call first):
  src/SFML/Window/CMakeLists.txt:215 (find_package)

我使用了'locate udev',我发现了很多东西:

[hunter@localhost ~]$ locate udev
/etc/udev
/etc/udev/hwdb.bin
/etc/udev/hwdb.d
/etc/udev/rules.d
/etc/udev/udev.conf
/usr/bin/udevadm
/usr/lib/libudev.so.1
/usr/lib/libudev.so.1.6.4
/usr/lib/udev
/usr/lib/dracut/modules.d/95udev-rules
/usr/lib/dracut/modules.d/90dm/dm-pre-udev.sh
/usr/lib/dracut/modules.d/90mdraid/mdmon-pre-udev.sh
/usr/lib/dracut/modules.d/95udev-rules/59-persistent-storage.rules
/usr/lib/dracut/modules.d/95udev-rules/61-persistent-storage.rules
/usr/lib/dracut/modules.d/95udev-rules/load-modules.sh
/usr/lib/dracut/modules.d/95udev-rules/module-setup.sh
/usr/lib/dracut/modules.d/98dracut-systemd/dracut-pre-udev.service
/usr/lib/dracut/modules.d/98dracut-systemd/dracut-pre-udev.service.8
/usr/lib/dracut/modules.d/98dracut-systemd/dracut-pre-udev.service.8.asc
/usr/lib/dracut/modules.d/98dracut-systemd/dracut-pre-udev.sh
/usr/lib/python3.4/site-packages/pyudev
/usr/lib/python3.4/site-packages/pyudev-0.17-py3.4.egg-info
/usr/lib/python3.4/site-packages/blivet/udev.py
/usr/lib/python3.4/site-packages/blivet/__pycache__/udev.cpython-34.pyc
/usr/lib/python3.4/site-packages/blivet/__pycache__/udev.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__init__.py
/usr/lib/python3.4/site-packages/pyudev/__pycache__
/usr/lib/python3.4/site-packages/pyudev/_compat.py
/usr/lib/python3.4/site-packages/pyudev/_errorcheckers.py
/usr/lib/python3.4/site-packages/pyudev/_libc.py
/usr/lib/python3.4/site-packages/pyudev/_libudev.py
/usr/lib/python3.4/site-packages/pyudev/_qt_base.py
/usr/lib/python3.4/site-packages/pyudev/_util.py
/usr/lib/python3.4/site-packages/pyudev/core.py
/usr/lib/python3.4/site-packages/pyudev/device
/usr/lib/python3.4/site-packages/pyudev/glib.py
/usr/lib/python3.4/site-packages/pyudev/monitor.py
/usr/lib/python3.4/site-packages/pyudev/os.py
/usr/lib/python3.4/site-packages/pyudev/pyqt4.py
/usr/lib/python3.4/site-packages/pyudev/pyside.py
/usr/lib/python3.4/site-packages/pyudev/wx.py
/usr/lib/python3.4/site-packages/pyudev/__pycache__/__init__.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/__init__.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_compat.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_compat.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_errorcheckers.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_errorcheckers.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_libc.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_libc.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_libudev.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_libudev.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_qt_base.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_qt_base.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_util.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/_util.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/core.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/core.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/glib.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/glib.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/monitor.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/monitor.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/os.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/os.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/pyqt4.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/pyqt4.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/pyside.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/pyside.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/__pycache__/wx.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/__pycache__/wx.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/device/__init__.py
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__
/usr/lib/python3.4/site-packages/pyudev/device/_device.py
/usr/lib/python3.4/site-packages/pyudev/device/_errors.py
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__/__init__.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__/__init__.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__/_device.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__/_device.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__/_errors.cpython-34.pyc
/usr/lib/python3.4/site-packages/pyudev/device/__pycache__/_errors.cpython-34.pyo
/usr/lib/python3.4/site-packages/pyudev-0.17-py3.4.egg-info/PKG-INFO
/usr/lib/python3.4/site-packages/pyudev-0.17-py3.4.egg-info/SOURCES.txt
/usr/lib/python3.4/site-packages/pyudev-0.17-py3.4.egg-info/dependency_links.txt
/usr/lib/python3.4/site-packages/pyudev-0.17-py3.4.egg-info/top_level.txt
/usr/lib/python3.4/site-packages/sos/plugins/udev.py
/usr/lib/python3.4/site-packages/sos/plugins/__pycache__/udev.cpython-34.pyc
/usr/lib/python3.4/site-packages/sos/plugins/__pycache__/udev.cpython-34.pyo
/usr/lib/systemd/systemd-udevd
/usr/lib/systemd/system/dracut-pre-udev.service
/usr/lib/systemd/system/initrd-udevadm-cleanup-db.service
/usr/lib/systemd/system/systemd-udev-settle.service
/usr/lib/systemd/system/systemd-udev-trigger.service
/usr/lib/systemd/system/systemd-udevd-control.socket
/usr/lib/systemd/system/systemd-udevd-kernel.socket
/usr/lib/systemd/system/systemd-udevd.service
/usr/lib/systemd/system/initrd.target.wants/dracut-pre-udev.service
/usr/lib/systemd/system/sockets.target.wants/systemd-udevd-control.socket
/usr/lib/systemd/system/sockets.target.wants/systemd-udevd-kernel.socket
/usr/lib/systemd/system/sysinit.target.wants/systemd-udev-trigger.service
/usr/lib/systemd/system/sysinit.target.wants/systemd-udevd.service
/usr/lib/udev/ata_id
/usr/lib/udev/bcache-register
/usr/lib/udev/cdrom_id
/usr/lib/udev/check-ptp-camera
/usr/lib/udev/collect
/usr/lib/udev/hwdb.d
/usr/lib/udev/iphone-set-info
/usr/lib/udev/ipod-set-info
/usr/lib/udev/libinput-device-group
/usr/lib/udev/libinput-model-quirks
/usr/lib/udev/mtd_probe
/usr/lib/udev/mtp-probe
/usr/lib/udev/pcmcia-check-broken-cis
/usr/lib/udev/pcmcia-socket-startup
/usr/lib/udev/rename_device
/usr/lib/udev/rules.d
/usr/lib/udev/scsi_id
/usr/lib/udev/udev-add-printer
/usr/lib/udev/udev-configure-printer
/usr/lib/udev/usb_modeswitch
/usr/lib/udev/v4l_id
/usr/lib/udev/hwdb.d/20-OUI.hwdb
/usr/lib/udev/hwdb.d/20-acpi-vendor.hwdb
/usr/lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb
/usr/lib/udev/hwdb.d/20-net-ifname.hwdb
/usr/lib/udev/hwdb.d/20-pci-classes.hwdb
/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb
/usr/lib/udev/hwdb.d/20-sane-backends.hwdb
/usr/lib/udev/hwdb.d/20-sdio-classes.hwdb
/usr/lib/udev/hwdb.d/20-sdio-vendor-model.hwdb
/usr/lib/udev/hwdb.d/20-usb-classes.hwdb
/usr/lib/udev/hwdb.d/20-usb-media-players.hwdb
/usr/lib/udev/hwdb.d/20-usb-vendor-model.hwdb
/usr/lib/udev/hwdb.d/60-evdev.hwdb
/usr/lib/udev/hwdb.d/60-keyboard.hwdb
/usr/lib/udev/hwdb.d/69-libmtp.hwdb
/usr/lib/udev/hwdb.d/70-mouse.hwdb
/usr/lib/udev/hwdb.d/70-pointingstick.hwdb
/usr/lib/udev/hwdb.d/90-libinput-model-quirks.hwdb
/usr/lib/udev/rules.d/10-dm.rules
/usr/lib/udev/rules.d/11-dm-lvm.rules
/usr/lib/udev/rules.d/11-dm-mpath.rules
/usr/lib/udev/rules.d/13-dm-disk.rules
/usr/lib/udev/rules.d/39-usbmuxd.rules
/usr/lib/udev/rules.d/40-iio-sensor-proxy.rules
/usr/lib/udev/rules.d/40-libgphoto2.rules
/usr/lib/udev/rules.d/40-usb-media-players.rules
/usr/lib/udev/rules.d/40-usb_modeswitch.rules
/usr/lib/udev/rules.d/50-udev-default.rules
/usr/lib/udev/rules.d/56-hp_conf_usb.rules
/usr/lib/udev/rules.d/56-hpmud.rules
/usr/lib/udev/rules.d/60-block.rules
/usr/lib/udev/rules.d/60-cdrom_id.rules
/usr/lib/udev/rules.d/60-drm.rules
/usr/lib/udev/rules.d/60-evdev.rules
/usr/lib/udev/rules.d/60-fprint-autosuspend.rules
/usr/lib/udev/rules.d/60-net.rules
/usr/lib/udev/rules.d/60-pcmcia.rules
/usr/lib/udev/rules.d/60-persistent-alsa.rules
/usr/lib/udev/rules.d/60-persistent-input.rules
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules
/usr/lib/udev/rules.d/60-persistent-storage.rules
/usr/lib/udev/rules.d/60-persistent-v4l.rules
/usr/lib/udev/rules.d/60-raw.rules
/usr/lib/udev/rules.d/60-serial.rules
/usr/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules
/usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
/usr/lib/udev/rules.d/62-multipath.rules
/usr/lib/udev/rules.d/63-md-raid-arrays.rules
/usr/lib/udev/rules.d/64-btrfs.rules
/usr/lib/udev/rules.d/64-md-raid-assembly.rules
/usr/lib/udev/rules.d/65-libwacom.rules
/usr/lib/udev/rules.d/65-md-incremental.rules
/usr/lib/udev/rules.d/65-sane-backends.rules
/usr/lib/udev/rules.d/69-bcache.rules
/usr/lib/udev/rules.d/69-cd-sensors.rules
/usr/lib/udev/rules.d/69-dm-lvm-metad.rules
/usr/lib/udev/rules.d/69-libmtp.rules
/usr/lib/udev/rules.d/69-xorg-vmmouse.rules
/usr/lib/udev/rules.d/70-mouse.rules
/usr/lib/udev/rules.d/70-power-switch.rules
/usr/lib/udev/rules.d/70-printers.rules
/usr/lib/udev/rules.d/70-spice-vdagentd.rules
/usr/lib/udev/rules.d/70-touchpad-quirks.rules
/usr/lib/udev/rules.d/70-uaccess.rules
/usr/lib/udev/rules.d/70-wacom.rules
/usr/lib/udev/rules.d/71-seat.rules
/usr/lib/udev/rules.d/73-seat-late.rules
/usr/lib/udev/rules.d/75-net-description.rules
/usr/lib/udev/rules.d/75-probe_mtd.rules
/usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
/usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
/usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
/usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
/usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
/usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
/usr/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
/usr/lib/udev/rules.d/77-mm-platform-serial-whitelist.rules
/usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
/usr/lib/udev/rules.d/77-mm-telit-port-types.rules
/usr/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
/usr/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
/usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
/usr/lib/udev/rules.d/77-mm-zte-port-types.rules
/usr/lib/udev/rules.d/78-sound-card.rules
/usr/lib/udev/rules.d/80-drivers.rules
/usr/lib/udev/rules.d/80-kvm.rules
/usr/lib/udev/rules.d/80-libinput-device-groups.rules
/usr/lib/udev/rules.d/80-mm-candidate.rules
/usr/lib/udev/rules.d/80-net-setup-link.rules
/usr/lib/udev/rules.d/80-udisks2.rules
/usr/lib/udev/rules.d/85-nm-unmanaged.rules
/usr/lib/udev/rules.d/85-regulatory.rules
/usr/lib/udev/rules.d/90-alsa-restore.rules
/usr/lib/udev/rules.d/90-fwupd-devices.rules
/usr/lib/udev/rules.d/90-libgpod.rules
/usr/lib/udev/rules.d/90-libinput-model-quirks.rules
/usr/lib/udev/rules.d/90-pulseaudio.rules
/usr/lib/udev/rules.d/90-vconsole.rules
/usr/lib/udev/rules.d/91-drm-modeset.rules
/usr/lib/udev/rules.d/95-cd-devices.rules
/usr/lib/udev/rules.d/95-dm-notify.rules
/usr/lib/udev/rules.d/95-upower-csr.rules
/usr/lib/udev/rules.d/95-upower-hid.rules
/usr/lib/udev/rules.d/95-upower-wup.rules
/usr/lib/udev/rules.d/98-kexec.rules
/usr/lib/udev/rules.d/99-qemu-guest-agent.rules
/usr/lib/udev/rules.d/99-systemd.rules
/usr/lib64/libgudev-1.0.so.0
/usr/lib64/libgudev-1.0.so.0.2.0
/usr/lib64/libudev.so.1
/usr/lib64/libudev.so.1.6.4
/usr/lib64/pulse-7.0/modules/module-udev-detect.so
/usr/sbin/udevadm
/usr/share/bash-completion/completions/_udevadm
/usr/share/bash-completion/completions/udevadm
/usr/share/doc/libgudev
/usr/share/doc/python3-pyudev
/usr/share/doc/libgudev/NEWS
/usr/share/doc/python3-pyudev/CHANGES.rst
/usr/share/doc/python3-pyudev/README.rst
/usr/share/licenses/libgudev
/usr/share/licenses/python3-pyudev
/usr/share/licenses/libgudev/COPYING
/usr/share/licenses/python3-pyudev/COPYING
/usr/share/man/man5/udev.conf.5.gz
/usr/share/man/man7/udev.7.gz
/usr/share/man/man8/dracut-pre-udev.service.8.gz
/usr/share/man/man8/systemd-udevd-control.socket.8.gz
/usr/share/man/man8/systemd-udevd-kernel.socket.8.gz
/usr/share/man/man8/systemd-udevd.8.gz
/usr/share/man/man8/systemd-udevd.service.8.gz
/usr/share/man/man8/udevadm.8.gz
/usr/share/pkgconfig/udev.pc
/usr/share/vim/vim74/ftplugin/udevconf.vim
/usr/share/vim/vim74/ftplugin/udevperm.vim
/usr/share/vim/vim74/ftplugin/udevrules.vim
/usr/share/vim/vim74/syntax/udevconf.vim
/usr/share/vim/vim74/syntax/udevperm.vim
/usr/share/vim/vim74/syntax/udevrules.vim
/usr/share/zsh/site-functions/_udevadm
/var/cache/PackageKit/metadata/updates/packages/python3-pyudev-0.19.0-1.fc23.noarch.rpm

最佳答案

这里的原则相同:您应该尝试找到包含 CMake 正在寻找的文件的“-devel”包(即末尾没有附加数字的 .so 和头文件)

这里你要找的包可能是systemd-devel(udev库现在是systemd的一部分)

关于c++ - 使用 CMake 为 Fedora 23 构建 SFML 时出错 [xcb-image not found],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36188822/

相关文章:

c++ - CMake 将不同子目录中的静态库链接到一个静态库中

android - 使用 CMake 在 C++ android 应用程序中使用 libcurl

c++ - 在 Code::Blocks 中设置 SFML 时遇到问题

c++ - 迭代集合并集的简洁方法?

c++ - 是否有更好(更有效)的方法来查找是否可以从另一个字符串的字符形成一个字符串?

c++ - 覆盖 QWidget::resizeEvent(QResizeEvent* event) 的奇怪行为

CMake:执行宏/函数作为add_custom_command的命令

c++ - Xcode,SFML 错误 dyld : Library not loaded

c++ - 带代码的 SFML::Blocks - "undefined reference to sf::Texture::getSize()"

c++ - 如何在 C++ 中使用 ffmpeg 获取视频的 fps?