【发布时间】:2011-02-15 22:41:53
【问题描述】:
我有一个静态库 liborc-0.4.a,没有共享库。我有另一个库 libschroedinger-1.0.a(无共享),它依赖于 liborc-0.4.a 中的符号。如果我在 liborc-0.4.a 上运行 nm,则诸如 orc_init 之类的符号将显示为 T(意味着它们已定义)。我使用命令行标志 -lorc-0.4 构建了 libschroedinger-1.0.a,所以它看到了符号并且没问题。
但是,现在我有一个依赖于 libschroedinger-1.0.a 的小型可执行文件。它编译得很好,但是当我运行链接器时
gcc -lschroedinger-1.0 -lorc-0.4 -o output input.o
它给出的错误如下:
/usr/local/lib/libschroedinger-1.0.a(libschroedinger_1.0_la-schro.o):schro.c:(.text+0x21):
undefined reference to `orc_init'
【问题讨论】:
标签: c linker-errors