Skip to main content
GameDev.net gamedev.net
🔒 Locked

Linker errors but I have the libraries linked (Release)

Started by Inuyashakagome16 Jan 11, 2013 at 7:41 PM 2 replies 3.9k views
Original Post
Inuyashakagome16
Inuyashakagome16

1>------ Build started: Project: DXFP, Configuration: Release Win32 ------
1>main.obj : error LNK2001: unresolved external symbol _D3DX11CompileFromFileW@44
1>main.obj : error LNK2001: unresolved external symbol _GUID_SysMouse
1>main.obj : error LNK2001: unresolved external symbol _c_dfDIMouse
1>main.obj : error LNK2001: unresolved external symbol _c_dfDIKeyboard
1>main.obj : error LNK2001: unresolved external symbol _D3D11CreateDeviceAndSwapChain@48
1>main.obj : error LNK2001: unresolved external symbol _IID_IDirectInput8W
1>main.obj : error LNK2001: unresolved external symbol _GUID_SysKeyboard
1>main.obj : error LNK2001: unresolved external symbol _CreateDXGIFactory1@8
1>main.obj : error LNK2001: unresolved external symbol _DirectInput8Create@20
1>main.obj : error LNK2001: unresolved external symbol __imp__DWriteCreateFactory@12
1>main.obj : error LNK2001: unresolved external symbol _D2D1CreateFactory@16
1>main.obj : error LNK2001: unresolved external symbol _D3DX11CreateShaderResourceViewFromFileW@24
1>main.obj : error LNK2001: unresolved external symbol _D3D10CreateDevice1@28

Nice little section of errors. This happens when I build in release. Works fine in debug. In release I DID link the libraries in the properties (both directories and libraries)


#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "d3dx11.lib")
#pragma comment(lib, "d3dx10.lib")
#pragma comment (lib, "D3D10_1.lib")
#pragma comment (lib, "DXGI.lib")
#pragma comment (lib, "D2D1.lib")
#pragma comment (lib, "dwrite.lib")
//#pragma comment(lib, "DXErr.lib")
#pragma comment(lib, "dinput8.lib")
#pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")




//#include <DxErr.h>
#include <windows.h>
#include <d3d11.h>
#include <d3dx11.h>
#include <d3dx10.h>
#include <xnamath.h>
#include <D3D10_1.h>
#include <DXGI.h>
#include <D2D1.h>
#include <sstream>
#include <dwrite.h>
#include <dinput.h>
#include <D3DX11async.h>

And that is the top of my main.cpp (the only file i have right now)

I'm really not sure what i'm missing.

> Libraries linked in Release :


D3D10.lib;d3d11.lib;d3dx11.lib;D3DCompiler.lib;dxerr.lib;dxgi.lib;dxguid.lib;dinput8.lib;D2D1.lib;dwrite.lib;d3d9.lib;d3dx9.lib;D3D10_1.lib;%(AdditionalDependencies)
Zaoshi Kaba
Zaoshi Kaba
Are you linking Release libraries? Debug might not work, not sure what kind of error it would throw though.

Edit:
I just checked out and cannot find debug/release .libs, seems there's no difference.

Have you tried to enable linker's messages to see if it's actually using those libraries?
Inuyashakagome16
Inuyashakagome16

I enabled it and it seems (while I was in settings) that there was a directory not included for some reason, even though I set it previously. -____- Terrible feels man.

Thanks! I had heard of the linker messages but I wasn't sure what I could use them for, but now I have them enabled so i'm sure they'll help soon. :)

Khatharr
Khatharr
I think you're not supposed to link dxguid.lib anymore. Instead you have to #include along with any DX stuff that uses guids.
void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.