Chinaunix

标题: 编译报错 [打印本页]

作者: nanjingnew4    时间: 2011-07-19 11:42
标题: 编译报错
cc -o receive ../../obj/receive.o
../../obj/receive.o(.text+0x42): In function `main':
: undefined reference to `WriteErrLog'
../../obj/receive.o(.text+0xe1): In function `main':
: undefined reference to `WriteErrLog'
../../obj/receive.o(.text+0x119): In function `main':
: undefined reference to `WriteErrLog'
../../obj/receive.o(.text+0x164): In function `main':
: undefined reference to `WriteErrLog'
../../obj/receive.o(.text+0x185): In function `main':
: undefined reference to `WriteErrLog'
../../obj/receive.o(.text+0x1d2): more undefined references to `WriteErrLog' fow
collect2: ld returned 1 exit status
make: *** [../../bin/receive] Error 1


我用的是Redhat4.7的,难道WriteErrLog不是自带的,要自己编写吗?
作者: taojie2000    时间: 2011-07-19 11:53
回复 1# nanjingnew4


不懂程序啊 不过你可以试试把提示的错误  

    undefined reference to `WriteErrLog'

google下,看有没有类似情况的!
作者: renxiao2003    时间: 2011-07-19 12:14
看看API接口是不是写错了啊。
作者: bbxyard    时间: 2011-07-19 12:46
本帖最后由 bbxyard 于 2011-07-19 12:48 编辑

undefined reference to `WriteErrLog' 是指找不到这个符号定义(应该是个函数吧).
"WriteErrLog" 这个是windows风格的API.
这个是链接时包错了.

如果"WriteErrLog"这个是第三方提供的, 比如叫lib3rd.so的.
简单期间,把这个文件扔到/usr/lib下(建个符号链接即可)
然后:
  1. cc -o receive ../../obj/receive.o -l3rd
复制代码
即可.

如果,这个API是自己写的, 比如已编译成了myapi.o
  1. cc -o receive ../../obj/receive.o myapi.o
复制代码

作者: nanjingnew4    时间: 2011-07-19 14:18
多谢楼上几位,明确方向了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2