当前位置: 技术问答>linux和unix
静态库.a的使用问题
来源: 互联网 发布时间:2015-12-08
本文导语: 请问如果把一个类class Info 放在Info.h,Info.cpp中,用gcc -c Info.cpp ar -r libInfo.a Info.l 打包,并把libInfo.a放在main.cpp所在目录的Lib子目录下,请问怎样在main.cpp中使用class Info ??????? 在main.cpp中是否要加入#inclde "Info.h" ??? mak...
请问如果把一个类class Info 放在Info.h,Info.cpp中,用gcc -c Info.cpp
ar -r libInfo.a Info.l 打包,并把libInfo.a放在main.cpp所在目录的Lib子目录下,请问怎样在main.cpp中使用class Info ???????
在main.cpp中是否要加入#inclde "Info.h" ???
makefile要怎样写????
ar -r libInfo.a Info.l 打包,并把libInfo.a放在main.cpp所在目录的Lib子目录下,请问怎样在main.cpp中使用class Info ???????
在main.cpp中是否要加入#inclde "Info.h" ???
makefile要怎样写????
|
最简单的是直接把.a当成一个普通源代码编译进来.
gcc main.cpp ./lib/libInfo.a -o exec
gcc main.cpp ./lib/libInfo.a -o exec
|
在main.cpp中:
#include "info.h"
并声明和使用class info
编译时
gcc -L -linfo -o appexe main.cpp
Makefile中
LDFLAGS=-l
appexec: main.cpp libinfo.a
$(CC) $(LDFLAGS) -o appexe main.cpp
#include "info.h"
并声明和使用class info
编译时
gcc -L -linfo -o appexe main.cpp
Makefile中
LDFLAGS=-l
appexec: main.cpp libinfo.a
$(CC) $(LDFLAGS) -o appexe main.cpp
|
直接在make的规则里加上 “-L(你的库路径)”和“-llibInfo.a”就行了。
|
如果Info.h中只有函数声明且用c编译器的话,可以不用在main.cpp中#include, 否则一定要#include "Info.h"。
链接.a文件的话,楼上几位的回答都不错
链接.a文件的话,楼上几位的回答都不错
|
LDFLAGS = ./lib/libInfo.a
|
makefile中把.a加到LDFLAGS里即可