cmake错误:没有这样的文件?

杰克·史密斯

首先,我在Ubuntu 17上使用clion和内置cmake

建立按摩日志:

[ 20%] Linking C executable pacman
cc: error: SDL2_image: No such file or directory
CMakeFiles/pacman.dir/build.make:172: recipe for target 'pacman' failed
make[3]: *** [pacman] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pacman.dir/all' failed
make[2]: *** [CMakeFiles/pacman.dir/all] Error 2
CMakeFiles/Makefile2:79: recipe for target 'CMakeFiles/pacman.dir/rule' failed
make[1]: *** [CMakeFiles/pacman.dir/rule] Error 2
Makefile:118: recipe for target 'pacman' failed
make: *** [pacman] Error 2

cmakeList.txt:

cmake_minimum_required(VERSION 3.9)
project(pacman C)
set(CMAKE_C_STANDARD 99)
set(SOURCE src/main.c src/input.c src/input.h src/view.c src/view.h src/models.h src/models.c)
add_executable(pacman "${SOURCE}")
include_directories(src)
include_directories(src/SDL2-2.0.7/include)
INCLUDE(FindPkgConfig)
PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED)
set(SDL2_IMAGE_INCLUDE_DIR "src/SDL2_image-2.0.2")
include_directories("${SDL2_IMAGE_INCLUDE_DIR}")
target_link_libraries(pacman "${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES}")

还有一个名为Makefile的文件:(我对此不太了解!不幸的是,错误最终从这里出现)

# Makefile for showimage

CC = gcc
CFLAGS = $(shell sdl2-config --cflags) -Wall -O
LIBS = $(shell sdl2-config --libs) -lSDL2_image
EXE = showimage

all: $(EXE)

showimage: showimage.c Makefile
    $(CC) -o $@ [email protected] $(CFLAGS) $(LIBS)

clean:
    -rm *.o $(EXE)

请注意,我100%确保已使用以下命令安装了所有sdl2库:

sudo apt-get install libsdl2*

它工作正常,一切顺利完成,没有错误输出:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libsdl2-mixer-dev' for glob 'libsdl2*'
Note, selecting 'libsdl2-image-dev' for glob 'libsdl2*'
Note, selecting 'libsdl2-gfx-dev' for glob 'libsdl2*'
Note, selecting 'libsdl2-gfx-doc' for glob 'libsdl2*'
Note, selecting 'libsdl2-mixer-2.0-0' for glob 'libsdl2*'
Note, selecting 'libsdl2-dev' for glob 'libsdl2*'
Note, selecting 'libsdl2-doc' for glob 'libsdl2*'
Note, selecting 'libsdl2-ttf-dev' for glob 'libsdl2*'
Note, selecting 'libsdl2-net-2.0-0' for glob 'libsdl2*'
Note, selecting 'libsdl2-net-dev' for glob 'libsdl2*'
Note, selecting 'libsdl2-image-2.0-0' for glob 'libsdl2*'
Note, selecting 'libsdl2-2.0-0' for glob 'libsdl2*'
Note, selecting 'libsdl2-gfx-1.0-0' for glob 'libsdl2*'
Note, selecting 'libsdl2-ttf-2.0-0' for glob 'libsdl2*'
libsdl2-2.0-0 is already the newest version (2.0.6+dfsg1-3ubuntu1).
libsdl2-dev is already the newest version (2.0.6+dfsg1-3ubuntu1).
libsdl2-doc is already the newest version (2.0.6+dfsg1-3ubuntu1).
libsdl2-gfx-1.0-0 is already the newest version (1.0.1+dfsg-5).
libsdl2-gfx-dev is already the newest version (1.0.1+dfsg-5).
libsdl2-gfx-doc is already the newest version (1.0.1+dfsg-5).
libsdl2-image-2.0-0 is already the newest version (2.0.1+dfsg-3).
libsdl2-image-dev is already the newest version (2.0.1+dfsg-3).
libsdl2-mixer-2.0-0 is already the newest version (2.0.1+dfsg1-3).
libsdl2-mixer-dev is already the newest version (2.0.1+dfsg1-3).
libsdl2-net-2.0-0 is already the newest version (2.0.1+dfsg1-3).
libsdl2-net-dev is already the newest version (2.0.1+dfsg1-3).
libsdl2-ttf-2.0-0 is already the newest version (2.0.14+dfsg1-2).
libsdl2-ttf-dev is already the newest version (2.0.14+dfsg1-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

事先感谢您的帮助:)))))

杰克·史密斯

我已经通过以下方式更改了cmake代码来解决了所有问题:只需手动提供sdl目录路径即可!

cmake_minimum_required(VERSION 3.9)
project(pacman C)

set(CMAKE_C_STANDARD 99)
set(SOURCE src/main.c src/input.c src/input.h src/view.c src/view.h src/models.h src/models.c src/controler.c src/controler.h)
add_executable(pacman "${SOURCE}")
include_directories(src)

include_directories("/usr/include/SDL2")
target_link_libraries(pacman m SDL2 SDL2_gfx SDL2_image)

ADD_DEFINITIONS(-D_REENTRANT)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

CMake没有这样的文件或目录

没有这样的文件或目录错误

sshfs'没有这样的文件'错误

JSCH:没有这样的文件错误

opencv-cmake错误:Ubuntu上没有这样的文件或目录

致命错误:gst / gst.h:没有这样的文件或目录(使用CMake)

CMake:“严重错误:cstdio:没有这样的文件或目录”

CMake汇编器错误:没有这样的指令

CMake-Attachment.h:没有这样的文件或目录

致命错误:文件系统:没有这样的文件或目录

致命错误:特征/密集:没有这样的文件或目录

g++ 致命错误没有这样的文件或目录

FileNotFoundError:[错误2]没有这样的文件或目录:'ffmpeg'

谷歌云存储没有这样的文件或目录错误

launchd给我“没有这样的文件或目录”错误

错误:ENOENT,没有这样的文件或目录-PhoneGap

错误:没有这样的文件或目录-C

Eclipse错误:ENOENT,没有这样的文件或目录

Tkinter和openpyxl错误没有这样的文件或目录''

MPI mpirun execvp错误:没有这样的文件或目录

出现错误“没有这样的文件或目录”

Python错误没有这样的文件或目录

错误:ENOENT:没有这样的文件或目录,

ls:没有这样的文件或目录错误

在qemu中出现错误“没有这样的文件或目录”

错误:ENOENT,没有这样的文件或目录Node JS

没有这样的文件或目录-Magento错误

pytesseract-没有这样的文件或目录错误

错误2 pytesseract中没有这样的文件或目录