當前位置:首頁 » 編程軟體 » linuxsdl編譯

linuxsdl編譯

發布時間: 2024-01-12 13:04:22

A. 如何安裝/編譯linux / Ubuntu的SDL2 C C 05

1.使用apt-get 安裝開發包
sudo apt-get install libsdl2-dev
2.編輯源文件, hello.c

#include <SDL2/SDL.h>int main(){ SDL_Window* window =0; SDL_Renderer* render=0; SDL_Init(SDL_INIT_EVERYTHING); window=SDL_CreateWindow("hello",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,640,480,SDL_WINDOW_SHOWN); render=SDL_CreateRenderer(window,-1,0); SDL_SetRenderDrawColor(render,0,255,0,255); SDL_RenderClear(render); SDL_RenderPresent(render); SDL_Delay(3000); SDL_DestroyWindow(window); SDL_DestroyRenderer(render); SDL_Quit(); return 0;}

3.編譯
gcc hello.c -lSDL2
如果編譯成功,會生成a.out可執行文件

4.運行
./a.out

B. 關於linux下連接動態庫問題

gcc編譯時,當使用動態庫編譯可以按照幾種寫法
1.gcc test.c ./libSDL2-2.so
2.gcc test.c -lSDL2-2
3.gcc test.c -L/home/test -lSDL2-2
一般的編譯參數都是按照2或3去寫
2寫法的含義是從/lib或者/usr/lib目錄下尋找名稱為SDL2-2的庫,即尋找/lib/libSDL2-2.so或者/usr/lib/libSDL2-2.so文件進行鏈接,當然如果沒有動態庫就會去找靜態庫,再沒有應該就會在編譯時報錯
3寫法的含義是從-L參數首先從指定的目錄中尋找需要鏈接的庫文件,隨後再去尋找系統文件夾中是否存在需要的庫
1寫法的含義是將當前目錄下的./libSDL2-2.so.0文件鏈接進最終文件,因此執行readelf -a a.out後在動態庫部分所看到的路徑就是./libSDL2-2.so.0,進而在執行文件時僅會從當前目錄下尋找libSDL2-2.so.0文件,當執行文件時所在的目錄下沒有該文件時就會出現找不到庫文件的操作

你第二次操作時,因為function.so庫文件與a.out文件在同一個目錄,同時也是在該目錄下執行的ldd操作及運行a.out,a.out在載入動態庫時從當前目錄下找到了所需要的庫文件,此時能夠執行成功(ldd命令實質是一個腳本,通過設置環境變數運行動態庫鏈接器來輸出所有待鏈接的動態庫)。
你可以試試將a.out拷貝至其他目錄再次運行,將出現和第一次操作時一樣的現象,找不到function.so文件。

具體的解決方法就是修改編譯參數,將./libSDL2-2.so.0修改為-lSDL2-2並將libSDL2-2.so.0文件拷貝至/usr/lib目錄下,並且可能因為沒有修改鏈接器的緩存文件(將可能找不到帶版本號後綴的動態庫),需要在/usr/lib目錄下建立一個文件連接(ln -s libSDL2-2.so.0 libSDL2-2.so)或者直接修改名稱為libSDL2-2.so

C. 在linux下聯合編譯ffmpeg和SDL源碼之一 / 藍訊

看到個類似的問題:www.avidemux.org/smf/index.php?topic=11974.0你這個東西真不好說,不過看來是x264因為是靜態編譯,靜態編譯我記得需要別的函數庫也是靜態的。你這個應該是x264本身就有找不到的函數入口問題,導致現在傳染給了ffmpeg

D. 請教ffmpeg在centeOS 64位下的編譯問題

軟體安裝


(1). MinGW+Msys安裝


下載MSYS,解壓到E:/ffmpeg64/msys目錄。


下載MinGW-w64,解到E:/ffmpeg64/msys/mingw64目錄。


啟動msys.bat,打開類似於Linux的終端,並導入mingw64的環境變數。


echo 'export PATH=.:/local/bin:/mingw64/bin:/bin' > .profile

source .profile

(2). SDL安裝


下載SDL1.2.14,解壓到E:/ffmpeg64/SDL-1.2.14目錄。


進入SDL-1.2.14目錄,依次執行:


./configure --host=x86_64-w64-mingw32

make

make install

編譯過程中,出現如下錯誤:

E. 我編譯SDL庫總是出現[build/SDL_pulseaudio.lo] 錯誤 1 有編譯文檔嗎 QQ:1607584059 謝謝

貌似 還有 記不清了 我以前用的友善之臂的開發板 出現這個錯誤很兩個可能1仔細檢查 下命令看有沒有少空格和打錯命令 2少下幾個安裝包 我當時就是少安裝了幾個安裝包 裝上之後就解決了
你加下我QQ吧 有時間我發給你 280747135 具體安裝包可能你要自己網上找了 學了太久真心記不清了 文檔的話我這里應該還有

熱點內容
phpifecho 發布:2024-11-16 21:57:11 瀏覽:723
android動態載入布局 發布:2024-11-16 21:37:54 瀏覽:799
php判斷ip 發布:2024-11-16 21:07:03 瀏覽:739
有看頭密碼怎麼改 發布:2024-11-16 20:57:39 瀏覽:327
A有語法錯誤不能編譯 發布:2024-11-16 20:49:17 瀏覽:947
廚房需要配置什麼噴淋頭 發布:2024-11-16 20:39:02 瀏覽:298
酒瓶解壓 發布:2024-11-16 20:29:20 瀏覽:730
視頻怎樣上傳到手機 發布:2024-11-16 20:26:30 瀏覽:259
怎麼把ppt文件壓縮 發布:2024-11-16 20:22:30 瀏覽:686
linux大內存 發布:2024-11-16 20:22:28 瀏覽:951