无法安装MSVCP100.dll

时间:2012-05-20 19:53:30

标签: visual-studio-2010 qt visual-c++ cmake

我正在使用CMake使用Visual Studio 2010 Express在Windows上构建我的基于Qt的应用程序。使用cmake进行配置时出现以下错误:

System runtime library file does not exists:
'MSVC10_REDIST_DIR-NOTFOUND/x86/Microsoft.VC100.CRT/msvcp100.dll

System runtime library file does not exists:
'MSVC10_REDIST_DIR-NOTFOUND/x86/Microsoft.VC100.CRT/msvcr100.dll

然后,当我尝试编译时,我收到此错误(在Visual Studio中尝试,并使用msbuild):

MSVCRT.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
C:\Users\Kurtis\sandbox\UDJ-Desktop-Client\build\src\Release\UDJ.exe : fatal error LNK1120: 1 unresolved externals

我确定Microsoft Visual C ++ 2010 Express没有附带redistributable that I need。所以我去了微软的网站下载可再发行版(x86x64)。但是,安装后,我仍然遇到上述配置和编译错误。有谁知道我做错了什么,或者如何解决我的问题?

1 个答案:

答案 0 :(得分:2)

_WinMain@16是Windows GUI应用程序的入口点,因此您的源代码中缺少它,或者您没有编写GUI应用程序,在这种情况下,您的链接器标志不正确。

由于您使用的是qt,请确保将QtMain库与您的项目链接。您可以通过在Find_Package的调用中添加它来执行此操作,如下所示:

find_package(Qt4 4.7.0 COMPONENTS QtMain QtCore QtGui QtSQL Phonon REQUIRED)