我们正在将 32 位 C++ 应用程序迁移到 64 位应用程序(VS 2010)。此应用程序是 10 年前使用 IBM VisualAge C++ 3.6.5 for Windows 开发的。由于 IBM 已停止支持此编译器,因此我们在将其迁移到 VS 2010 时遇到了问题。
这主要是因为缺少一些库。
示例错误:
错误 LNK2019:函数“int __cdecl allocate_heap_storage_(void)”(?allocate_heap_storage@@YAHXZ) 中引用了未解析的外部符号 __uopen 错误 LNK2019:函数“int __cdecl allocate_heap_storage_(void)”(?allocate_heap_storage@@YAHXZ) 中引用了未解析的外部符号 __ucreate错误 LNK2019:函数“int __cdecl deallocate_heap_storage_(void)”(?deallocate_heap_storage@@YAHXXZ) 中引用了未解析的外部符号 __udestory错误 LNK2019:函数“int __cdecl alloc_share_mem_(int,int)”(?alloc_share_mem@YAPAXHH@Z) 中引用了未解析的外部符号 __umalloc
上述函数在 umalloc.h 中定义,但我们缺少定义。
我们如何解决这个问题?