静态库.a的使用问题

lyklm 2006-08-07 09:06:31
请问如果把一个类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要怎样写????
...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyklm 2006-08-08
  • 打赏
  • 举报
回复
谢谢,结贴
lyklm 2006-08-07
  • 打赏
  • 举报
回复
在makefile中应该加入
LDFLAGS = ./lib/libInfo.a还是LDFLAGS = ./lib
?????????
shavey 2006-08-07
  • 打赏
  • 举报
回复
makefile中把.a加到LDFLAGS里即可
kangji 2006-08-07
  • 打赏
  • 举报
回复
一样啊
在编译命令后面加上这个库就行
Cemondd 2006-08-07
  • 打赏
  • 举报
回复
直接在make的规则里加上 “-L(你的库路径)”和“-llibInfo.a”就行了。
lyklm 2006-08-07
  • 打赏
  • 举报
回复
那makefile中要怎样添加libInfo.a
YanDong_8212 2006-08-07
  • 打赏
  • 举报
回复
最简单的是直接把.a当成一个普通源代码编译进来.
gcc main.cpp ./lib/libInfo.a -o exec
shavey 2006-08-07
  • 打赏
  • 举报
回复
LDFLAGS = ./lib/libInfo.a
yjf7888 2006-08-07
  • 打赏
  • 举报
回复
如果Info.h中只有函数声明且用c编译器的话,可以不用在main.cpp中#include, 否则一定要#include "Info.h"。

链接.a文件的话,楼上几位的回答都不错
DanXer 2006-08-07
  • 打赏
  • 举报
回复
更正:
LDFLAGS=-L<libinfo.a的路径> -linfo
DanXer 2006-08-07
  • 打赏
  • 举报
回复
在main.cpp中:
#include "info.h"
并声明和使用class info
编译时
gcc -L<libinfo.a的路径> -linfo -o appexe main.cpp

Makefile中
LDFLAGS=-l
appexec: main.cpp libinfo.a
<TAB>$(CC) $(LDFLAGS) -o appexe main.cpp

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧