我正在尝试编译我在 Visual C++ 2010 中编写的 SFML 程序。它编译得很好,但是当我运行可执行文件时出现此错误:
The application failed to initialize properly (0xc0150002). Click on OK to terminate the application.
每次我尝试运行使用 SFML 的应用程序时都会发生这种情况,我已经包含了我在外部依赖项中使用的库,库和包含库都在 lib 中,并且包含文件在 VC 文件夹中,而 DLL 在与我的exe相同的文件夹。我该如何解决这个问题?
编辑
这是调试器的调试输出:
“SFML.exe”:已加载“C:\Documents and Settings\Greg\My Documents\Visual Studio 2010\Projects\SFML\Debug\SFML.exe”,已加载符号。 “SFML.exe”:已加载“C:\WINDOWS\system32\ntdll.dll”,无法找到或打开 PDB 文件 “SFML.exe”:已加载“C:\WINDOWS\system32\kernel32.dll”,找不到或打开 PDB 文件 “SFML.exe”:已加载“C:\Documents and Settings\Greg\My Documents\Visual Studio 2010\Projects\SFML\Debug\sfml-graphics.dll”,找不到或打开 PDB 文件 LDR:LdrpWalkImportDescriptor() 未能探测 C:\Documents and Settings\Greg\my documents\visual studio 2010\Projects\SFML\Debug\sfml-graphics.dll 的清单,ntstatus 0xc0150002 调试器:: 进程加载期间引发了未处理的不可持续异常 程序“[2792] SFML.exe: Native”已退出,代码为 -1072365566 (0xc0150002)。
编辑
我试图重新编译该库,但出现此错误:
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): 警告 MSB8012: TargetPath(C:\SFML-1.5\build\vc2008\..\..\Temp \vc2008\sfml-network\Debug DLL\sfml-network.dll) 与链接器的 OutputFile 属性值 (C:\SFML-1.5\lib\vc2008\sfml-network-d.dll) 不匹配。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): 警告 MSB8012: TargetName(sfml-network) 与链接器的 OutputFile 属性值不匹配 (sfml-network-d )。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
我需要更改 TargetPath 的值,但我找不到执行此操作的选项,有谁知道我可以如何更改它?