首先对不起标题,但我真的不知道该怎么说。您有什么更好的想法可以随时编辑。
其次,我进行了广泛的研究,但找不到解决方案。如果您在 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吗?