繁体   English   中英

从IBM VisualAge C ++ 3.6.5迁移到VS 2010

[英]Migration from IBM VisualAge C++ 3.6.5 to VS 2010

我们正在将32位C ++应用程序迁移到64位应用程序(VS 2010)。 此应用程序是10年前使用IBM VisualAge C ++ 3.6.5 for Windows开发的。 由于IBM停止了对该编译器的支持,因此在将其移植到VS 2010时遇到了问题。

这主要是由于缺少某些库。

错误样例:

错误LNK2019:函数“ int __cdeclallocate_heap_storage_(void)”中引用的未解析的外部符号__uopen(?allocate_heap_storage @@ YAHXZ)错误LNK2019:函数“ int __cdeclallocate_heap_storage_(void)@H}中引用的未解析的外部符号__ucreate错误LNK2019:函数“ int __cdecl deallocate_heap_storage_(void)”中引用的未解析外部符号__udestory(?deallocate_heap_storage @@ YAHXXZ)错误LNK2019:函数“ int __cdecl deallocate_heapheate_ate_ate_ate_ate_ate_void_storage_void错误LNK2019:函数“ int __cdecl alloc_share_mem_(int,int)”(?alloc_share_mem @ YAPAXHH @ Z)中引用的未解析的外部符号__umalloc

上面的函数在umalloc.h中定义,但是我们缺少这些定义。

我们该如何解决呢?

对于以上错误, 链接时找不到这些函数“ _ ucreate”, _ udestory,_ uclose, _umalloc,我认为这些函数在Visual Age提供的运行时库中。如果可以找到这些函数的lib文件,运行时库,您可以将它们放在链接的输入中,它可能会通过编译阶段,但可能无法启动。

这里的一个建议是用Windows函数替换上面的函数。 以上所有功能均与内存分配有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM