首先对不起标题,但我真的不知道该怎么说。您有什么更好的想法可以随时编辑。
其次,我进行了广泛的研究,但找不到解决方案。如果您在 google 上找到解决方案,请不要生气。我找了也没找到(或者我很笨,这也是可能的)
对于我的问题:
我正在尝试编译一个程序,该程序hacc
在他的众多依赖项中具有diy
和tess
. 此外,diy
也是 的依赖项之一tess
。
我被diy
编译成libdiy.a
我被tess
编译成libtess.a
当我尝试编译时hacc
出现错误提示
[...]/tess/install/lib/libtess.a(tess.cpp.o): in function « item_type(ompi_datatype_t**) »:
tess.cpp:(.text+0x13e): undefined reference to « DIY_FLOAT »
nm 告诉我:
nm [...]/diy/install/lib/libdiy.a | grep DIY_FLOAT
0000000000000010 D DIY_FLOAT
nm [...]/tess/install/lib/libtess.a | grep DIY_FLOAT
U DIY_FLOAT
U DIY_FLOAT
hacc
使用链接标志编译
-L${LIBS}/diy/install/lib -ldiy \
-L${LIBS}/tess/install/lib -ltess \
我在哪里做错了什么?我应该尝试tess
通过包含依赖项中的所有符号来编译libtess.a
吗?