gpt4 book ai didi

c++ - 在更高版本的visual studio中运行vs2005 c++项目

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:23 26 4
gpt4 key购买 nike

我有一个在 VS2005 中创建的 C++/CLI 项目。我希望在 VS2010(或 2012)中运行它,因为这是我的主要 IDE 并且我还需要修改 C++/CLI 项目中的一些东西,而且不得不切换回来和转到vs2005重新编译,复制等。另一个重要原因是我在 VS2010/2012 中运行的项目是在 .NET4 中,因此无法将所有内容移动到 VS2005。

该项目依赖于非托管第三方库,这些库本身依赖于 c++ 可再发行库的调试版本(msvcr80.dll、msvcm80.dll、msvcp80.dll)

当我第一次运行升级后的项目时,我收到“找不到指定的模块”-

那时我注意到 cli 项目正在针对较新版本的 msvc (msvcr90.dll) 进行编译

cli 程序集依赖项取决于;左边是 vs2005,右边是 2008

enter image description here

有什么方法可以使用 2005 库编译更高版本的 VS 吗?

更新 它针对哪一个进行编译并不重要(并且无论如何都不可能)但是是否可以同时运行和调试?当我尝试运行已编译的项目时,我收到此错误消息:

enter image description here

我已尝试将 list 文件从 vs2005 项目复制到 vs2010 项目,但这不起作用(同样的错误消息)。我还禁用了嵌入式 list 并将生成的 .manifest 文件替换为来自 vs2005 的文件,这也不起作用。

update2 我通过在 list 中指定 msvcr 库解决了这个错误:

<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>

但是现在,当我运行我的应用程序时,当我尝试使用其中一种方法时,第三方库之一会抛出 AccessViolationException - Attempted to read or write protected memory。此代码在 vs2005 中可以正常工作。

最佳答案

我后来发现了 Daffodil for Visual Studio这正是我需要的,即在 visual studio 2010 中针对 vc80 进行编译。安装后,平台工具集下拉列表会获得更多选项:

nb,您仍然需要安装相关版本的 Visual Studio,例如,如果针对 vc80,您需要 vs2005。nb2,Intellisense is broken在用于 cli/c++ 的 vs2010 中,在花费大量时间研究让项目在 vs2010 上运行之后,这是一个重大的失望

enter image description here

关于c++ - 在更高版本的visual studio中运行vs2005 c++项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16879209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com