ubuntu16.04 编译出错:fatal error: SDL/SDL.h: No such file or directory

  在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提供了數種控制圖像、聲音、輸出入的函式,讓開發者只要用相同或

是相似的程式碼就可以開發出跨多個平台(LinuxWindowsMac 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 

原文地址:https://www.cnblogs.com/dylancao/p/9039632.html