Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
188 views
in Technique[技术] by (71.8m points)

c++ - The application failed to initialize properly (0xc0150002)

I'm trying to compile an SFML program I've writting in Visual C++ 2010. It compiles fine, but when I run the executable I get this error:

The application failed to initialize properly (0xc0150002). Click on OK to terminate the application.

This happens every time I try to run an application that uses SFML, I have included the libraries that I used in the external dependances, the library and include libaries are all in the lib and include files in the VC folder and the DLL is in the same folder as my exe. How can I fix this problem?

EDIT

Here is the debug output from the debugger:

    'SFML.exe': Loaded 'C:Documents and SettingsGregMy DocumentsVisual Studio 2010ProjectsSFMLDebugSFML.exe', Symbols loaded.
    'SFML.exe': Loaded 'C:WINDOWSsystem32
tdll.dll', Cannot find or open the PDB file
    'SFML.exe': Loaded 'C:WINDOWSsystem32kernel32.dll', Cannot find or open the PDB file
    'SFML.exe': Loaded 'C:Documents and SettingsGregMy DocumentsVisual Studio 2010ProjectsSFMLDebugsfml-graphics.dll', Cannot find or open the PDB file
    LDR: LdrpWalkImportDescriptor() failed to probe C:Documents and SettingsGregmy documentsvisual studio 2010ProjectsSFMLDebugsfml-graphics.dll for its manifest, ntstatus 0xc0150002
    Debugger:: An unhandled non-continuable exception was thrown during process load
    The program '[2792] SFML.exe: Native' has exited with code -1072365566 (0xc0150002).

EDIT

I have tried to recompile the library but I get this error:

    C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:SFML-1.5uildvc2008....Tempvc2008sfml-networkDebug DLLsfml-network.dll) does not match the Linker's OutputFile property value (C:SFML-1.5libvc2008sfml-network-d.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
    C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(sfml-network) does not match the Linker's OutputFile property value (sfml-network-d). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

I need to change the value of TargetPath but I cannot find an option to do this, does anyone know how I can change it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This is probably caused by SFML being compiled with another version of Visual C++ (I guess it's 2008 or even 2005). You are apparently missing the corresponding manifest file and msvc*.dll libraries. I would suggest recompiling SFML yourself using VS 2010 as it will save you a lot of trouble with manifest tweaking.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...