从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已经停止了对该编译器的支持,我们在将其迁移到VS2010时遇到了问题。
这主要是因为缺少一些库。
样本错误:
错误LNK2019:函数"int__cdecl allocate_heap_storage_(void)"中引用了未解析的外部符号__uopen(?allocate_heap_storage@@YAHXZ)错误LNK2019:函数"int __cdecl allocate_heap_storage_(void)"中引用的未解析外部符号__ucreate(?allocate_hheap_storage@@YAHXZ)错误LNK2019:函数"int __cdecl deallocate_heap_storage_(void)"中引用的未解析外部符号__udestory(?deallocate_heap_storage@@YAHXXZ)错误LNK2019:函数"int __cdecl deallocate_heap_storage_(void)"中引用的未解析外部符号__uclose(?deallocate_heap_storage@@YAHXXZ)错误LNK2019:函数"int __cdecl alloc_share_mem_(int,int)"中引用的未解析外部符号__umalloc(?alloc_share_mem@YAPAXHH@Z)
上面的函数是在umalloc.h中定义的,但我们缺少这些定义。
我们如何解决这个问题?
对于上面的错误,链接时找不到这些函数"_ucreate"、_udestory、_uclose、_umalloc",我认为这些函数都在Visual Age提供的运行时库中。若你们能找到这些运行时库的lib文件,你们可以把它们放在链接的输入中,它可能会通过编译阶段,但可能无法启动。
这里的一个建议是用windows函数替换上面的函数。以上所有函数都与内存分配有关。
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 数据成员SFINAE的C++17测试:gcc vs clang
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 正在VS调试器中监视映射条目
- Confusion: decltype vs std::function
- 将IBM Rhapsody模型集成到VS 2019中
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 修改 VS Code 中的默认C++代码段
- 如何使用c++在VS 2019上运行SQL查询
- vs 2015 constexpr变量不恒定,但与2019相比还好吗
- 从 MFC C++ 6.0 应用程序迁移到 VS 2005
- 这是从VS window c ++项目迁移到linux项目的最有效方法
- 从IBM VisualAge C++3.6.5迁移到VS 2010
- C++ IDE 从 VS 6 迁移到 VS 2013
- 将用VS 2005编写的C++网络代码迁移到VS2010中的Visual C++
- 在将项目从**VS 2012**迁移到**VS2013**后的Dll寄存器问题
- 将CLR项目迁移到VS 2015会抛出C2869编译器错误