VS2005中运行时库不一致导致项目编译出问题

 

我的工程中三个项目,编译其中的lib工程时是成功的,但是编译依赖于lib工程的第二个工程老出错,

msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "..........

LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _realloc 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __encode_pointer 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __decode_pointer 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

 

找了半天原因,发现工程的运行时库不一致。调整了之后就不报这个错误了。

把运行时库调整一致就OK了。

转载于:https://my.oschina.net/myspaceNUAA/blog/35289

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通常情况下,使用在 Visual Studio 2017 编译在 Visual Studio 2019 的程序使用不会错。这是因为 Visual Studio 的版本之间通常保持向后兼容性,较新版本的 Visual Studio 应该能够正确加载和使用由较旧版本编译。 然而,也有一些情况可能导致在使用不同版本的 Visual Studio 之间问题: 1. 不同的运行时:不同版本的 Visual Studio 使用不同的运行时(Runtime Library)。如果和应用程序使用了不同的运行时设置,可能会导致链接错误或运行时错误。确保和应用程序都使用相同的运行时设置,或者进行相应的调整。 2. 特定于平台问题:在从一个版本的 Visual Studio 切换到另一个版本时,可能会遇到特定于平台问题。例如,不同版本的 Visual Studio 可能对于特定的 Windows SDK 版本有依赖性,或者可能有不同的编译器选项和默认设置。在这种情况下,你可能需要进行适当的调整和配置。 因此,在使用不同版本的 Visual Studio 之间迁移项目时,建议进行以下操作: 1. 确保你的项目设置正确:在新的 Visual Studio 打开项目,并确保项目设置与你的预期一致。特别注意编译器选项、运行时设置和目标平台设置。 2. 重新编译:如果你遇到问题,尝试在新的 Visual Studio 重新编译。这将确保和应用程序使用相同的编译器和设置。 3. 解决任何链接错误:如果遇到链接错误,请检查的依赖关系、链接器选项和路径设置,确保正确链接。 4. 进行充分测试:在迁移后,对你的应用程序进行充分的测试,确保它在新的 Visual Studio 正常工作,并且没有任何运行时错误或不兼容性问题。 总之,对于大多数情况下,在不同版本的 Visual Studio 之间使用在较旧版本编译应该是可行的。但仍然建议进行适当的测试和验证,以确保没有任何兼容性问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值