[英]SDL2_image not found
我正在嘗試編譯以下具有標題的代碼:
#include <SDL2/SDL.h>
#include <SDL2_image/SDL_image.h>
但是在運行以下 makefile 后:
g++ -std=c++11 src/main.cpp -lSDL2 -lSDL2_image
我收到以下錯誤:
fatal error: SDL2_image/SDL_image.h: No such file or directory
#include <SDL2_image/SDL_image.h>
有什么建議? 不完全確定我安裝的 SDL_image。 我在 Ubuntu 上運行這個。
這個問題可以通過安裝libsdl2-image-dev
包來解決:
apt install libsdl2-image-dev
運行apt-file search SDL_image.h
結果會告訴你包含文件的位置。
例如,返回了/usr/include/SDL2/SDL_image.h
。 因此,當您想要包含SDL_image.h
,請在<
>
之間的include/
之后寫入所有內容。
因此,包含應該如下所示:
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
有關此解決方案的原始討論,請參閱問題的評論。
從 SDL 文檔中,它說將“lSDL_image”添加到編譯行的末尾。
cc -o myprogram mysource.o `sdl-config --libs` -lSDL_image
或者
gcc -o myprogram mysource.c `sdl-config --libs` -lSDL_image
這是參考-> https://www.libsdl.org/projects/docs/SDL_image/SDL_image.html 2.2 節編譯。
因此,對於 SDL2,您只需要將 'lSDL_image' 更改為 'lSDL2_image'。
對於Windows + SDL2-2.0.8 + SDL_image-2.0.4 + Codeblocks
您已將Runtime Binaries
和Development Libraries
到編譯器和鏈接器。 否則,您將收到錯誤SDL2_image not found
,即使您的程序目錄中有dll
,也會發生這種情況。 希望其他人覺得這有幫助; 我必須自己弄清楚。 示例:如果您的資源是分開的,您將SDL2
兩個資源加上您的標准SDL2
路徑添加到您的編譯器和鏈接器中。 警告:假設標頭與 SDL2 框架位於同一文件夾中,SDL2_image.h 具有標頭。 如果您收到有關圖像標題的錯誤,請在路徑中包含來自 SDL 框架的子文件夾SDL2
,然后您應該在程序中包含SDL2
: include <SDL.h>
而不是include <SDL2/SDL.h>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.