kongslly 2016-08-17 03:49 采纳率: 0%
浏览 1528

Linux动态库nm可以查询到符号,编译链接时候提示失败

现有一个动态库:
[root@localhost test]# ll /lib64/libplayer.so
-rwxr-xr-x 1 root kongs 19290 8月 16 20:30 /lib64/libplayer.so

使用nm查看如下:
[root@localhost test]# nm /lib64/libplayer.so | grep print_test
00000000000010a0 t print_test

现有测试代码:
int main()
{
printf("playTest\n");
print_test();
return 0;
}

Makefile文件如下:
CC=gcc
CFLAGS=-O3 -Wall -fmessage-length=0 -fPIC -DARCH_x86
OBJS=playerTest.o
LIBS+= -lplayer
TARGET= playerTest
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS) $(CFLAGS) $(LIBS)
chmod 6755 $(TARGET)
all:$(TARGET)
install: all
chmod 6755 $(TARGET)
clean:
rm -f $(OBJS) $(TARGET)

编译提示如下:
[root@localhost test]# make clean
rm -f playerTest.o playerTest
[root@localhost test]# make
gcc -O3 -Wall -fmessage-length=0 -fPIC -DARCH_x86 -c -o playerTest.o playerTest.c
gcc -o playerTest playerTest.o -O3 -Wall -fmessage-length=0 -fPIC -DARCH_x86 -lplayer -lcua
playerTest.o: In function main':
playerTest.c:(.text+0x13): undefined reference to
print_test'
collect2: ld 返回 1
make: *** [playerTest] 错误 1
[root@localhost test]#

这是什么原因?很奇怪

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧