当前位置: 技术问答>linux和unix
如何生成适用于各种平台的.a库
来源: 互联网 发布时间:2015-04-12
本文导语: 自己写了些函数,希望生成通用的.a库,适用于SUN、HP、IBM等主机, 我不会生成.a库啊,该如何做啊 | vi demo.h void demo ( void ); vi demo.c #include ...
自己写了些函数,希望生成通用的.a库,适用于SUN、HP、IBM等主机,
我不会生成.a库啊,该如何做啊
我不会生成.a库啊,该如何做啊
|
vi demo.h
void demo ( void );
vi demo.c
#include
#include "demo.h"
void demo ( void )
{
printf( "hello worldn" );
return;
}
2. g++ -Wstrict-prototypes -Wall -Wunused -O3 -c demo.c -o demo.o
file demo.o
3. ar -rsv libdemo.a demo.o
a - demo.o
file libdemo.a
nm -s libdemo.a
ar -tv libdemo.a
4. vi scz.c
#include
#include "demo.h"
int main ( int argc, void * argv[] )
{
demo();
return 0;
}
5. g++ scz.c -L. -ldemo -Wstrict-prototypes -Wall -Wunused -O3 -o scz
void demo ( void );
vi demo.c
#include
#include "demo.h"
void demo ( void )
{
printf( "hello worldn" );
return;
}
2. g++ -Wstrict-prototypes -Wall -Wunused -O3 -c demo.c -o demo.o
file demo.o
3. ar -rsv libdemo.a demo.o
a - demo.o
file libdemo.a
nm -s libdemo.a
ar -tv libdemo.a
4. vi scz.c
#include
#include "demo.h"
int main ( int argc, void * argv[] )
{
demo();
return 0;
}
5. g++ scz.c -L. -ldemo -Wstrict-prototypes -Wall -Wunused -O3 -o scz
|
问题不在于用ar还是gcc、g++生成库,而是不能生成一个lib在各种平台上通用。你能做到的最多只是源代码级兼容,然后在不同的平台上用编译器编译、连接。
生成.a的标准应用是ar,man ar看具体使用方式。
生成.a的标准应用是ar,man ar看具体使用方式。
|
为每种平台发布一个平台相关的.a