我知道这样的问题已经被问过了,但是情况有点不同,所有关于这个问题的答案对我都没有用。
我试图在VS2008中编译一些C代码,它不会创建一个exe。另外,当我尝试使用f5运行它时,我得到:
由于找不到MSVCR90.DLL,此应用程序无法启动。
我做了一些googling,它说这是因为我的c++可再发行包没有安装。所以我安装了它,重新启动了所有程序,然后再试一次。但唉,我还是犯了同样的错误。有人知道怎么解决这个问题吗?
发布于 2008-11-16 03:39:15
这听起来要么是VS2008安装的问题,要么是DLL搜索路径的问题。安装VS2008时安装MSVCR90.DLL,不需要安装任何额外的可再发行包。
首先,我将检查PATH环境变量,并确保其中没有破坏某些条目的gobbledydook,如果您在其中没有发现问题,那么我将卸载并重新安装Visual。
您还可以尝试搜索MSVCR90.DLL (以及其他类似的DLL),并将它们移动到Windows/System32 32文件夹中。
如果您只想现在就开始工作,您可以做的另一件事是将您的项目更改为静态链接到运行时库,然后它甚至不会尝试加载那个DLL。转到您的项目设置、配置属性->C/C++->代码生成,并将运行时库从多线程DLL更改为仅多线程(或任何不以DLL结尾的选项)。
发布于 2008-11-16 03:44:49
下面是要检查项目配置的一些东西--在general选项卡下:
如果您正在获取特定的链接器错误,说明已经定义了一些内容:这意味着您的应用程序的某些部分(单独的lib链接到您的exe)是用不同的运行时链接构建的:
您可以:
发布于 2009-02-08 14:00:49
如果删除与.exe关联的清单文件,您将得到相同的错误。
MSVCR90.dll不是安装在system32中,而是安装在并排文件夹中,因此需要清单。
https://stackoverflow.com/questions/293401
复制相似问题