免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2455 | 回复: 6
打印 上一主题 下一主题

[C] Solaris 编译报 /var/tmp//错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-11 12:08 |只看该作者 |倒序浏览
在Solaris-10-X86平台编译一C文件。报如下错误:

bash-3.00# /usr/sfw/bin/gcc cnprint320.c -o cnprint
Undefined                       first referenced
symbol                             in file
TTFclose                            /var/tmp//cc7mewIZ.o
TTFgen_PSproc                       /var/tmp//cc7mewIZ.o
TTFopen_init                        /var/tmp//cc7mewIZ.o
ld: fatal: Symbol referencing errors. No output written to cnprint
collect2: ld returned 1 exit status

检查stdio.h,发现有宏定义 #define P_tmpdir "/var/tmp/",改为#define P_tmpdir "/var/tmp"。
reboot系统。重新编译,错误依旧。

使用/usr/sfw/bin/gcc -c cnprint320.c,没问题。
使用/usr/sfw/bin/gcc -o cnprint320 cnprint320.o就出现上述错误。

论坛徽章:
0
2 [报告]
发表于 2007-12-11 12:15 |只看该作者
看样子象是TTFclose等函数在cc7mewIZ文件中定义  把cc7mewIZ.c一块编译试试?

论坛徽章:
0
3 [报告]
发表于 2007-12-11 15:46 |只看该作者
TTFclose等函数都在这个文件里定义的。程序太长,将近5000行,所以不方便贴出来。

论坛徽章:
0
4 [报告]
发表于 2007-12-11 18:17 |只看该作者
TTFclose ... 这些函数在调用前声明了么?

论坛徽章:
0
5 [报告]
发表于 2007-12-11 18:18 |只看该作者
实在不行LZ可以把源码放到附件里传上来。

论坛徽章:
0
6 [报告]
发表于 2007-12-11 19:11 |只看该作者
用 gcc -v 编译看看

论坛徽章:
0
7 [报告]
发表于 2007-12-12 10:39 |只看该作者

问题解决!

一共两个文件:cnprint320.c、TTFB330B.C
cnprint320.c里使用的一些函数在TTFB330B.C里声明的。反之也是。程序不知道谁写的,反正比较混乱。
尝试:/usr/sfw/bin/gcc -o cnprint cnprint320.c TTFB330B.C 依然是/var/tmp//什么什么的错误。

后来man gcc,发现.C和.c不是一码事。
mv TTFB330B.C TTFB330B.c
再一起编译就没问题了。

汗自己一个,居然忘记了Linux/Unix下大小写敏感...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP