免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3091 | 回复: 12

我写的库文件为何不能用? [复制链接]

论坛徽章:
0
发表于 2003-01-22 10:03 |显示全部楼层

论坛徽章:
0
发表于 2003-01-22 10:05 |显示全部楼层

我写的库文件为何不能用?

[quote]原帖由 "wykrever"][/quote 发表:
我写的头文件(testh.h)为:
void PrintStar(int n);

存在INCLUDE目录下。

我写的库的原文件为:
void PrintStar(int n)
{
   int i;
   for(i=0;i<=n;i++)
     printf("*";
}
编译成OBJ后,用TLIB作成LIB文件,放在LIB目录下。

我写的主程序(testc.c)为:
#include<stdio.h>;
#include“testh.h”
main()
{
  int n;
  scanf("%d",&amp;n);
  PrintStar(n);
}

结果生成EXE文件时,提示 "undefined symbol '_PrintStar' in module testc.c ".

为什么会这样,头文件中不是定义了吗?

论坛徽章:
0
发表于 2003-01-22 10:38 |显示全部楼层

我写的库文件为何不能用?

提示 "undefined symbol '_PrintStar' in module testc.c ".
表示没有找到定义

在头文件中只是声明

如果是自己的库那么编译时要用-l选项

论坛徽章:
0
发表于 2003-01-22 10:50 |显示全部楼层

我写的库文件为何不能用?

我是在WIN+TURBOC2环境下。
你能把编译时要用-l选项参数的命令行写出来吗?

论坛徽章:
0
发表于 2003-01-22 10:56 |显示全部楼层

我写的库文件为何不能用?

我以为是gcc呢
看看TC的设置吧
tc没有试过不知道怎么用

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2003-01-22 10:56 |显示全部楼层

我写的库文件为何不能用?

PrintStar 放在哪个库中?

论坛徽章:
0
发表于 2003-01-22 11:32 |显示全部楼层

我写的库文件为何不能用?

我自已写的一个库。你可以看看我发的第一个贴子。谢谢。

论坛徽章:
0
发表于 2003-01-22 11:36 |显示全部楼层

我写的库文件为何不能用?

库的名为:testlib.lib.保存在LIB目录下。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2003-01-22 11:42 |显示全部楼层

我写的库文件为何不能用?

在 TC 下新建一个 test.prj 文件,写入以下几行:
test.c
lib\testlib.lib
保存。
然后再在 project 菜单中将 project name 设成 test.prj
按 F9 编译,就可以了。
推荐使用 Borland C++ 3.1
(我这儿没有 TC2.0,所以......,反正对你来说都一样)。
这个算是 TC 的新版本吧!支持 C++ 的。另外关于工程管理这一块也比 TC2.0 好。

论坛徽章:
0
发表于 2003-01-22 15:05 |显示全部楼层

我写的库文件为何不能用?

谢了。
另外我发现了一个问题:如果我把写好的库函数链接成OBJ文件,再用TLIB加入到已有的库中,如MATHS.LIB中,编译会顺利进行。但如果单独把该OBJ文件用TLIB作成LIB,则出现未定义。为什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP