Page 1 of 1

[Sticky] ------- FAQ & Troubleshooting

Posted: January 2nd, 2014, 3:42 pm
by chili

"Fatal error LNK1123: failure during conversion to COFF"

Posted: January 2nd, 2014, 3:46 pm
by chili
"Fatal error LNK1123: failure during conversion to COFF"

This error occurs in Visual C++ 2010. It usually appears after installing a new version of Visual Studio.

The error can be fixed by disabling incremental linking: Open the Properties window via the Project tab. Next navigate to "Project Properties > Configuration Properties > Linker (General) > Enable Incremental Linking" and change to "No (/INCREMENTAL:NO)".

Or: Open "Windows Update", and update VS2010 to SP1 to solve it.

Note: The update might be in the optional updates section and you might have to restart the computer before it works. Also, sometimes before the SP1 update, Visual C++ 2010 needs to be reinstalled in order for this to work!

"Error LNK1181: cannot open input file '****.lib' "

Posted: January 2nd, 2014, 3:57 pm
by chili
"Error LNK1181: cannot open input file '******.lib'"

1. This error usually indicates that the DirectX SDK hasn't been installed properly. Even though you may have some version of the SDK already installed, it is still recommended that DirectX SDK June 2010 be installed to ensure compatibility with the tutorial solutions.

2. Another cause may be an issue with the setup of the paths for the SDK files. To fix this problem, open the Properties window via the Project tab.

Next navigate to "Configuration Properties -> VC++ Directories", and add "$(DXSDK_DIR)include" to the Include Directories, and likewise "$(DXSDK_DIR)\lib\x86" to the Library Directories.

3. If the problem persists, you might have to add the specific *.lib to the Additional Dependencies:
Still in the Properties; go to "Configuration Properties -> Linker -> Input" and add the *.lib to the Additional Dependencies list. Example: dxerr.lib

Optionally you can link the *.lib files with D3DGraphics.cpp like this:
#pragma comment( lib, "dxerr.lib" )
#pragma comment( lib, "d3d9.lib" )
#pragma comment( lib, "d3dx9.lib" )

"Error MSB8008: Specified platform toolset (v1*0) is not..."

Posted: January 19th, 2014, 10:10 pm
by LuX
"Error MSB8008: Specified platform toolset (v1*0) is not installed or invalid"

When trying to build a project that has been made using a different IDE, most commonly Visual Studio 2010 / 2012 / 2013, you might get the error "MSB8008: Specified platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected."

In such a case, open the Properties window via the Project tab. Next navigate to "Configuration Properties", and look for Platform Toolset. Depending on the original version of Visual Studio the project was made with, change the value to "v90" for VS2008, "v100" for VS2010, "v110" for VS2012, or "v120" for VS2013.

Note that for the toolset version selected, the respective version of Visual Studio needs to be installed on the computer. Additionally, the versions are backwards compatible: Visual Studio 2013 can run an un-upgraded 2010 project if the toolset is changed correctly.

Very slow drawing / slow PutPixel() calls

Posted: May 18th, 2014, 11:54 am
by chili
Very slow drawing / slow PutPixel() calls

You may notice when drawing filled rectangles or drawing many sprites to the screen that the frame rate literally shits the bed. Don't worry; it's fine. The original PutPixel() code was written in a very inefficient manner, and it is optimized in later tutorials (Beginner 13 and Intermediate 6).