簡體   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