The*_*i.9 12 c visual-studio-2008 visual-studio
我知道这样的问题已经被问过了,但情况有点不同,关于这个问题的所有答案对我都不起作用.
我正在尝试在VS2008中编译一些C代码并且它不会创建一个exe.此外,当我尝试用f5运行它时,我得到:
此应用程序无法启动,因为找不到MSVCR90.DLL.
我做了一些谷歌搜索,它说这是因为我的c ++可再发行组件没有安装.所以我安装了它,重新启动了一切并再次尝试.但是,唉,我仍然得到同样的错误.有没有人知道如何解决这个问题?
Ger*_*ald 11
这听起来像是你的VS2008安装问题,或者你的DLL搜索路径有问题.安装VS2008时安装了MSVCR90.DLL,您不必安装任何其他可再发行组件包.
首先,我会检查您的PATH环境变量并确保其中没有gobbledydook会破坏某些条目,如果您在那里找不到问题,那么我将卸载并重新安装Visual Studio.
您也可以尝试搜索MSVCR90.DLL(和其他类似的DLL),并将它们移动到您的Windows/System32文件夹.
如果你现在只想开始,你可以做的另一件事是将项目更改为静态链接到运行时库,然后它甚至不会尝试加载该DLL.转到项目设置,配置属性 - > C/C++ - >代码生成,并将运行时库从多线程DLL更改为多线程(或任何不以DLL结尾的选项).
以下是一些要检查项目配置的内容 - 在常规选项卡下:
如果您遇到特定的链接器错误,说明已经定义了某些内容:这意味着您的应用程序的某些部分(单独的库链接到您的exe)使用不同的运行时链接构建:
您可以:
确保使用与应用程序相同版本的Visual Studio编译这些库.
将这些项目更改为使用静态运行时:C/C++ - >代码生成 - >运行时库:/ MT或MTd(与上面的#4相同)
如果仍有一些特定错误,请尝试告诉链接器忽略某些库:转到链接器 - >忽略特定库并放入要忽略的库.这在'libcmt.lib'或'libcmtd.lib'中最常见.同样重要的是要知道以'd'结尾的lib通常是调试版本.如果您正在创建发布版本并且您已经"已经在libcmtd.lib中定义",则意味着您正在将版本库链接到调试库.