簡體   English   中英

未找到 SDL2_image

[英]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 BinariesDevelopment Libraries到編譯器和鏈接器。 否則,您將收到錯誤SDL2_image not found ,即使您的程序目錄中有dll ,也會發生這種情況。 希望其他人覺得這有幫助; 我必須自己弄清楚。 示例:如果您的資源是分開的,您將SDL2兩個資源加上您的標准SDL2路徑添加到您的編譯器和鏈接器中。 警告:假設標頭與 SDL2 框架位於同一文件夾中,SDL2_image.h 具有標頭。 如果您收到有關圖像標題的錯誤,請在路徑中包含來自 SDL 框架的子文件夾SDL2 ,然后您應該在程序中包含SDL2include <SDL.h>而不是include <SDL2/SDL.h>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM