g++连接.a文件的问题。多谢!

mtsw 2004-07-12 10:43:42
我有一个Test.c用到了.a库里面的一个文件。
Test.c如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
#include <time.h>
#include <wait.h>
#include "SysUtil.h"

int main(int argc , char **argv)
{
FILE *fp;
int pos;
int i;
int line = 0;

if (getcfgpath(fullpath, "") == NULL) {
}
}

我如果用g++ -c Test.c编译的话能通过。但如果用
g++ libitl.a libcontainer.a libsfc4k.a -o Test.o连接就会出现错误:
$ g++ libitl.a libcontainer.a libsfc4k.a -o Test.o
/usr/lib/gcc-lib/i386-redhat-linux/3.2/../../../crt1.o: In function `_start':
/usr/lib/gcc-lib/i386-redhat-linux/3.2/../../../crt1.o(.text+0x18): undefined r'
collect2: ld returned 1 exit status
如果直接编译:
g++ -o libitl.a libcontainer.a libsfc4k.a Test.c
/tmp/ccSrcTiD.o: In function `main':
/tmp/ccSrcTiD.o(.text+0x72): undefined reference to `getcfgpath(char*, char con'
collect2: ld returned 1 exit status
为什么啊?多谢了!

...全文
684 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacquesfreedom 2004-07-16
  • 打赏
  • 举报
回复
用g++编译时,要引用C的库函数,一定要加“extern”修饰符
mtsw 2004-07-12
  • 打赏
  • 举报
回复
肯定在的。
pacman2000 2004-07-12
  • 打赏
  • 举报
回复
你的getcfgpath这个函数是哪里定义的啊? 好像不在这几个.a中啊。
mtsw 2004-07-12
  • 打赏
  • 举报
回复
还是不行,提示如下:
$ g++ -Wall -o test Test.c libitl.a libcontainer.a libsfc4k.a
Test.c:26:2: warning: no newline at end of file
/tmp/cc45fo2i.o: In function `main':
/tmp/cc45fo2i.o(.text+0x3c): undefined reference to `getcfgpath(char*, char con'
collect2: ld returned 1 exit status
lysliberty 2004-07-12
  • 打赏
  • 举报
回复
g++ -Wall -o test Test.c libitl.a libcontainer.a libsfc4k.a
mtsw 2004-07-12
  • 打赏
  • 举报
回复
还是不行!
tukey 2004-07-12
  • 打赏
  • 举报
回复
up
pacman2000 2004-07-12
  • 打赏
  • 举报
回复
g++ -o a.out libitl.a libcontainer.a libsfc4k.a Test.c

楼主大概没有理解-o参数,-o参数是指定生成的文件名,所以后面跟需要编译的文件就不对了。
lwj_dxy 2004-07-12
  • 打赏
  • 举报
回复
up
pacman2000 2004-07-12
  • 打赏
  • 举报
回复
getcfgpath()是C++写的?如果是C写的但没有extern "C" 用g++可能会找不到。

23,217

社区成员

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

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