简体   繁体   English

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

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

We're in the process of migrating 32-bit C++ application to 64-bit application (VS 2010). 我们正在将32位C ++应用程序迁移到64位应用程序(VS 2010)。 This application was developed 10 years back with IBM VisualAge C++ 3.6.5 for Windows. 此应用程序是10年前使用IBM VisualAge C ++ 3.6.5 for Windows开发的。 Since IBM has stopped support of this compiler, we're facing issues while migrating it to VS 2010. 由于IBM停止了对该编译器的支持,因此在将其移植到VS 2010时遇到了问题。

This is mostly because of some missing libraries. 这主要是由于缺少某些库。

Sample errors: 错误样例:

error LNK2019: unresolved external symbol __uopen referenced in function "int __cdecl allocate_heap_storage_(void)" (?allocate_heap_storage@@YAHXZ) error LNK2019: unresolved external symbol __ucreate referenced in function "int __cdecl allocate_heap_storage_(void)" (?allocate_heap_storage@@YAHXZ) error LNK2019: unresolved external symbol __udestory referenced in function "int __cdecl deallocate_heap_storage_(void)" (?deallocate_heap_storage@@YAHXXZ) error LNK2019: unresolved external symbol __uclose referenced in function "int __cdecl deallocate_heap_storage_(void)" (?deallocate_heap_storage@@YAHXXZ) error LNK2019: unresolved external symbol __umalloc referenced in function "int __cdecl alloc_share_mem_(int,int)" (?alloc_share_mem@YAPAXHH@Z) 错误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

The above functions are defined in umalloc.h but we are missing the definitions. 上面的函数在umalloc.h中定义,但是我们缺少这些定义。

How can we resolve this? 我们该如何解决呢?

For the errors above, these function "_ ucreate", _udestory , _ uclose, _umalloc" are not found when linking, I think these functions were in the run time libraries provided by Visual Age. if you can find the lib files of the these run time libraries, you can put them in the input of link, it may pass the compiling phase, but may fail to launch. 对于以上错误, 链接时找不到这些函数“ _ ucreate”, _ udestory,_ uclose, _umalloc,我认为这些函数在Visual Age提供的运行时库中。如果可以找到这些函数的lib文件,运行时库,您可以将它们放在链接的输入中,它可能会通过编译阶段,但可能无法启动。

One suggestion here is to replace the functions above with windows functions. 这里的一个建议是用Windows函数替换上面的函数。 All the functions above are related with memory allocations. 以上所有功能均与内存分配有关。

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

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