Sign in to follow this  

VS2012: Fatal error LNK1181: cannot open input file 'dxerr9.lib'

This topic is 1933 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For some reason, I hit a LNK1181 error, stating that it can't find the library file "dxerr9.lib". However, when I went to go check on the Library path, it is correct.

Asking Google, I came upon[url="http://support.microsoft.com/kb/815645"] this article[/url]that I may have to put quotation marks on the path directory. I did it, but it didn't work.

Here's a picture of the Project Properties dialog.

[img]http://i.imgur.com/IEd2u.png[/img]

Does anyone else knows how to fix this? Thanks in advance.

EDIT: Nevermind about the LNK errors. I found [url="http://blogs.msdn.com/b/chuckw/archive/2012/04/24/where-s-dxerr-lib.aspx"]this article[/url], which prompted me to go download the DirectX SDK (June 2010), grab DxErr.lib, D3dx10d.lib, and D3Dx9.lib, rename DxErr.lib to DxErr9.lib, put all three LIBs in a new folder somewhere, and set a new directory listing to that folder.

Now, I'm back to square one. The dreaded LNK2001 external error:

[source lang="plain"]Error 1 error LNK2001: unresolved external symbol "long __cdecl ATL::AtlGetCommCtrlVersion(unsigned long *,unsigned long *)" (?AtlGetCommCtrlVersion@ATL@@YAJPAK0@Z) C:\Users\Thompson\Documents\Visual Studio 2012\Projects\VGMTrans\mainfrm.obj VGMTrans

[/source]
This fix is daunting, since in VS2012, Microsoft removed some legacy ATL stuff. Edited by tom_mai78101

Share this post


Link to post
Share on other sites
Supposedly, that is an undocumented function - so it was at your own risk to use it.

You can emulate it using DllGetVersion from Comctl32.dll.
See [url="http://msdn.microsoft.com/en-us/library/windows/desktop/bb776404(v=vs.85).aspx"]http://msdn.microsoft.com/en-us/library/windows/desktop/bb776404(v=vs.85).aspx[/url]

Better question - do you really even need it for what you're trying to do? If you're using an application manifest, you will [i]know[/i] your common control version anyway...

[edit] This is how wtl implements it - look at the end of the file. [url="http://wpack.googlecode.com/svn-history/r3/trunk/thirdparty/wtl/atlapp.h"]http://wpack.googlec...ty/wtl/atlapp.h[/url]
[edit2] Fixed. Edited by achild

Share this post


Link to post
Share on other sites
The first link you've provided is dead. Content not found.

To answer the question, the function is somehow required. But, it's not in the way that I understand what I'm about to do.

Share this post


Link to post
Share on other sites
Sign in to follow this