Compilation vxworks编译成功,但;劳工处;命令失败

Compilation vxworks编译成功,但;劳工处;命令失败,compilation,vxworks,Compilation,Vxworks,我使用IDEWinDriver工作台编译DKM项目!它编译成功。但“ld”命令失败,如下所示: Warning: module 0x1e2f0b8 holds reference to undefined symbol __GOTT_BASE__. Warning: module 0x1e2f0b8 holds reference to undefined symbol __GOTT_INDEX__. Warning: module 0x1e2f0b8 holds reference to un

我使用IDEWinDriver工作台编译DKM项目!它编译成功。但“ld”命令失败,如下所示:

Warning: module 0x1e2f0b8 holds reference to undefined symbol __GOTT_BASE__.
Warning: module 0x1e2f0b8 holds reference to undefined symbol __GOTT_INDEX__.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Assert.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Stoul.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Getpctype.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Stderr.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Getptoupper.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Getptolower.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Stod.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Flt.
Warning: module 0x1e2f0b8 holds reference to undefined symbol _Stdout.
ld(): error loading file (errno = 0xe0005).

由于无法在系统符号表中解析上述符号,因此会出现这些错误

来自VxWorks内核程序员指南6.8,第16.3.7章(非常有用的加载问题章节)

系统符号表用于存储系统中已安装的函数和变量的名称和地址。这样做的副作用是,一旦符号安装到 系统符号表中,它们可供将来由以下任何模块进行链接: 加载。此外,当试图解析模块中未定义的符号时, 加载程序使用编译到目标图像中的所有全局符号以及所有 先前加载模块的全局符号

小贴士:

  • 检查加载模块的顺序是否正确。如果随后在另一个DKM中加载符号,则在该DKM上加载将失败
在执行以下操作时,必须考虑模块之间的依赖关系[…] 加载模块以确保可以解析每个新模块的引用, 使用编译到VxWorks映像中的代码或已经 已加载到系统中。 否则将导致代码解析不完整[…]

  • “lkup”命令有助于查找以前加载的符号

您能否提供有关混合C/C++的任何见解?我有一个使用“SemLib.h”的C模块,它工作得很好。然后,我将其C++更改为LIB函数周围的包装器,得到了SyLooLibjUnDebug引用错误。我试过在一些地方和库函数中使用extern“C”,但似乎没有任何效果。嗯。。听起来你应该为此提出一个新问题;)有没有办法找出这些未定义的符号被调用的函数?