編譯Linux使用的.a庫文件


編譯Linux使用的.a庫文件

 

首先是須要編譯成.a的源文件

 

hello.h

#ifndef __INCLUDE_HELLO_H__
#define __INCLUDE_HELLO_H__

void hello(const char *name);


#endif // end __INCLUDE_HELLO_H__

hello.c

#include "stdio.h"


void hello(const char *name)
{
    printf("Hello world %s\n", name);
}


和一個在linux平台上做測試的main.c

#include "hello.h"


int main()
{
    hello("everyone");
    
    return 0;
}


在Linux上面做測試。編譯成.a文件,主要利用.o文件和ar命令


1、首先生成.o文件:

gcc -c hello.c

這樣源碼的文件夾下就會產生一個hello.o



2、利用ar命令,從.o文件里創建.a文件

ar cr libhello.a hello.o

這樣就能夠生成.a文件了。注意,所要生成的.a文件的名字前三位最好是lib,否則在鏈接的時候。就可能導致找不到這個庫



3、在linux下測試使用

編譯main.c。並讓hello.a鏈接到main中

gcc main.c -L. -lhello -o main(注意這里-L后面有個.)

這樣在當面文件夾以下就出現了可執行程序main。直接執行就是我們索要的結果了




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM