在ubuntu 16.04編譯神經網絡代碼時候,遇到了這樣一種錯誤?
fatal error: SDL/SDL.h: No such file or directory
原因是SDL庫沒有安裝,根據你使用的是SDL1還是SDL2來進行不同的安裝:如下所示:
-
SDL2
sudo apt-get install libsdl2-dev
-
SDL1
sudo apt-get install libsdl1.2-dev
SDL庫是什么?這個估計很多人都沒有聽過吧,包括我。就順便學習一下吧。看一下wiki:
SDL(Simple DirectMedia Layer)是一套開放原始碼的跨平台多媒體開發函式庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函式,讓開發者只要用相同或
是相似的程式碼就可以開發出跨多個平台(Linux、Windows、Mac OS X等)的應用軟體。目前SDL多用於開發游戲、模擬器、媒體播放器等多媒體應用領域。
SDL(第一版)使用GNU寬通用公共許可證為授權方式,意指動態連結(dynamic link)其函式庫並不需要開放本身的原始碼。因此諸如《雷神之鎚4》等商業遊戲也使用SDL來開發。
而第二版的SDL則改用Zlib授權來授權。
使用例子:
// Headers #include "SDL.h" // Main function int main(int argc, char* argv[]) { // Initialize SDL if(SDL_Init(SDL_INIT_EVERYTHING) == -1) return(1); // Delay 2 seconds SDL_Delay(2000); // Quit SDL SDL_Quit(); // Return return 0; }
上面的代碼編譯運行,就知道系統SDL是否安裝成功了。
參考文檔:
1 https://zh.wikipedia.org/wiki/SDL