簡體   English   中英

如何鏈接到C中的靜態庫?

[英]How to link to a static library in C?

我使用code :: blocks編譯我的靜態庫。 輸出結果是一個libstatic.a文件。 現在,如何鏈接到我的庫以使用已編譯的函數?

(我嘗試使用#include“ libstatic.a”,但我的項目無法編譯)

cc -o yourprog yourprog.c -lstatic

要么

cc -o yourprog yourprog.c libstatic.a

您應該#include "libstatic.h" ,即在代碼中使用適當的頭文件( 就是代碼無法編譯原因),並將libstatic.a的路徑作為輸入庫之一libstatic.a在鏈接器選項中。

網頁上有一些鏈接到靜態庫的示例,例如

gcc -I. -o jvct jvct.c libjvc.a

我必須在我的makefile中設置庫路徑。 對於這種情況,您可以使用:

gcc -o myapp main.c -L. -lstatic
gcc -I. -o jvct jvct.c libjvc.a

要純粹靜態鏈接,請使用-static

cc -static yourprogram.c libstatic.a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM