導航:首頁 > 編程語言 > linuxqt程序靜態編譯

linuxqt程序靜態編譯

發布時間:2023-09-03 11:03:37

linux怎麼靜態編譯

關於在 Linux 環境下面對 C 語言源程序進行靜態編譯,關鍵是要看你的 C 語言源程序中都使用到了哪些系統庫函數?如果是標準的輸入、輸出庫函數,只要在命令行提示符 $ 下面執行:
gcc my_prog.c 即可(預設的可執行文件名是:a.out);如果在用戶的源程序中使用到了數學計算函數,那麼在命令行提示符 $ 下面必須執行:
gcc my_prog.c -IMATH.LIB(假設涉及到各種數學計算的數學庫的庫文件為:MATH.LIB)
如果不加上 -IMATH.LIB 選項,那麼即使你的源程序編寫得再正確,也無法正常編譯。
另外還有一個必須要注意的就是:在 Linux 的環境變數中,一定要把 INCLUDE、LIB 所在的路徑設置好(在 SHELL 文件中寫好),這樣在使用 Linux 系統時才能夠減少出錯的機會。

㈡ linux下執行qt程序怎麼編譯運行

qmake -project? 已經有.pro文件了! 直接運行qmake或者qmake snake.pro或qmake -makefile snake.pro.

重新解壓,按以下步驟做:
$ qmake
$ make
找到可執行文件(不是.o, 沒後綴的), 一般版如果snake.pro中沒設置TARGET,默認生權成的可執行文件為snake,輸入
.$ /snake

㈢ linux靜態庫怎麼編譯

linux庫有動態與靜態兩種,動態通常用.so為後綴,靜態用.a為後綴。例如:libhello.so
libhello.a
為了在同一系統中使用不同版本的庫,可以在庫文件名後加上版本號為後綴,例如:
libhello.so.1.0,由於程序連接默認以.so為文件後綴名。所以為了使用這些庫,通常使用建立符號連接的方式。
ln
-s
libhello.so.1.0
libhello.so.1
ln
-s
libhello.so.1
libhello.so
動態庫和靜態庫的區別:
當要使用靜態的程序庫時,連接器會找出程序所需的函數,然後將它們拷貝到執行文件,由於這種拷貝是完整的,所以一旦連接成功,靜態程序庫也就不再需要了。然而,對動態庫而言,就不是這樣。動態庫會在執行程序內留下一個標記『指明當程序執行時,首先必須載入這個庫。由於動態庫節省空間,linux下進行連接的預設操作是首先連接動態庫,也就是說,如果同時存在靜態和動態庫,不特別指定的話,將與動態庫相連接。
兩種庫的編譯產生方法:
第一步要把源代碼編繹成目標代碼。以下面的代碼hello.c為例,生成hello庫:
/*
hello.c
*/
#include
void
sayhello()
{
printf("hello,world\n");
}
用gcc編繹該文件,在編繹時可以使用任何全法的編繹參數,例如-g加入調試代碼等:
gcc
-c
hello.c
-o
hello.o
1.連接成靜態庫
連接成靜態庫使用ar命令,其實ar是archive的意思
$ar
cqs
libhello.a
hello.o
2.連接成動態庫
生成動態庫用gcc來完成,由於可能存在多個版本,因此通常指定版本號:
$gcc
-shared
-wl,-soname,libhello.so.1
-o
libhello.so.1.0
hello.o
另外再建立兩個符號連接:
$ln
-s
libhello.so.1.0
libhello.so.1
$ln
-s
libhello.so.1
libhello.so
這樣一個libhello的動態連接庫就生成了。最重要的是傳gcc
-shared
參數使其生成是動態庫而不是普通執行程序。
-wl
表示後面的參數也就是-soname,libhello.so.1直接傳給連接器ld進行處理。實際上,每一個庫都有一個soname,當連接器發現它正在查找的程序庫中有這樣一個名稱,連接器便會將soname嵌入連結中的二進制文件內,而不是它正在運行的實際文件名,在程序執行期間,程序會查找擁有
soname名字的文件,%b

㈣ linux下qt程序如何編譯運行說的詳細點!!!!急急急!!!

1 需要保證linux下要安裝了qt環境
2 進入你的程序目錄,運行 /usr/local/qt_install/bin/qmake xxxx.pro。 其中/usr/local/qt_install是qt安裝目錄. xxxx.pro是你應內程程容序中的pro文件
3 執行make
4 運行生成的bin文件

閱讀全文

與linuxqt程序靜態編譯相關的資料

熱點內容
nodejs6await作用域 瀏覽:386
editplus調試js文件 瀏覽:827
電腦數據的u是什麼意思 瀏覽:718
電子照片怎麼弄成壓縮文件 瀏覽:285
蘋果推送電信運營商配置文件 瀏覽:748
受精24天數據在多少 瀏覽:502
計算機網路第二章習題 瀏覽:821
怎麼把pdf文件里的字復制到word 瀏覽:255
健走app哪個軌跡最准 瀏覽:650
win10手機系統轉安卓系統軟體 瀏覽:313
哪個銀行app能代繳違停罰款 瀏覽:555
蘋果導出微信文件 瀏覽:518
win10寬頻撥號連接720 瀏覽:219
數控車床步進編程怎麼調整參數 瀏覽:916
芒果app在哪裡下載 瀏覽:970
蘋果6spula價格 瀏覽:250
減肥APP一般包括哪些功能范圍 瀏覽:640
如何讓孩子初二的學生學習編程 瀏覽:169
微信里的數據包含哪些內容 瀏覽:215
u盤刪除其他文件還能恢復嗎 瀏覽:481

友情鏈接