SFML是什麼
SFML 是多媒體庫,它爲PC的各個組件提供簡單的界面,用來簡化遊戲和多媒體應用程序的開發。 主要由五個模塊組成,分別是:系統,窗口,圖形,音頻和網絡。
如何安裝SFML
我是在linux下進行開發的,所以這裏只介紹linux
- wget https://www.sfml-dev.org/files/SFML-2.5.1-linux-gcc-64-bit.tar.gz
- tar -xvzf SFML-2.5.1-linux-gcc-64-bit.tar.gz
- cd /SFML-2.5.1
- 複製 include ,lib目錄下的所有文件到 /usr/include /usr/lib /usr/lib64下面
- 運行example下面的示例,這時發現運行不了,一般是報如下這種錯誤:
[root@jeremyqin1584598822574-0 ~/SFML-2.5.1/share/SFML/examples/window]# ./window
./window: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib64/libsfml-window.so.2.5)
./window: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /lib64/libsfml-window.so.2.5)
./window: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /lib64/libsfml-system.so.2.5)
./window: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib64/libsfml-system.so.2.5)
./window: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /lib64/libsfml-system.so.2.5)
這時gcc版本太低導致的,可以只更換libstdc++.so庫解決這個問題。但是解決的不夠徹底。所以我們選擇更新gcc,來解決這個問題。下面介紹更新gcc的方法:
6. 不要卸載舊版本的gcc,我的是4.8.5的版本
7. 下載gcc,我這裏安裝 gcc-7.3.0版本 wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
8. tar -xvzf gcc-7.3.0.tar.gz
9. 運行 download_prerequisites 腳本,下載所以依賴
./contrib/download_prerequisites (這個必須在gcc的頂層目錄,否則會提示不能運行)
10. ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
11. make -j4 (這步非常久,估計要半個小時)
12. make install
13. 最後運行example下面的示例就可以了
14.如何運行程序報錯:
Failed to open X11 display; make sure the DISPLAY environment variable is set correctly
Aborted
是沒有安裝桌面環境,這個就要再安裝下了。在控制檯下面是沒法運行圖形化的東西的。