Jump to content

  • Log In with Google      Sign In   
  • Create Account


Direct X 11 compiling issues


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 Inuyashakagome16   Members   -  Reputation: 835

Like
0Likes
Like

Posted 02 August 2012 - 07:53 AM

1>D3dclass.obj : error LNK2019: unresolved external symbol _D3DXMatrixOrthoLH@20 referenced in function "public: bool __thiscall D3DClass::initialize(int,int,bool,struct HWND__ *,bool,float,float)" (?initialize@D3DClass@@QAE_NHH_NPAUHWND__@@0MM@Z)
1>D3dclass.obj : error LNK2019: unresolved external symbol _D3DXMatrixPerspectiveFovLH@20 referenced in function "public: bool __thiscall D3DClass::initialize(int,int,bool,struct HWND__ *,bool,float,float)" (?initialize@D3DClass@@QAE_NHH_NPAUHWND__@@0MM@Z)
1>D3dclass.obj : error LNK2019: unresolved external symbol _D3D11CreateDeviceAndSwapChain@48 referenced in function "public: bool __thiscall D3DClass::initialize(int,int,bool,struct HWND__ *,bool,float,float)" (?initialize@D3DClass@@QAE_NHH_NPAUHWND__@@0MM@Z)
1>D3dclass.obj : error LNK2019: unresolved external symbol _CreateDXGIFactory@8 referenced in function "public: bool __thiscall D3DClass::initialize(int,int,bool,struct HWND__ *,bool,float,float)" (?initialize@D3DClass@@QAE_NHH_NPAUHWND__@@0MM@Z)
1>C:\Users\dbrewer\Dropbox\Pri_Programming\VS\DX_Project\Debug\DX_Project.exe : fatal error LNK1120: 4 unresolved externals

Is what i get when i compile. Using VS studio 2010 following this http://www.rastertek.../dx11tut03.html tutorial. Finish putting all the code in and it just won't compile. I have the include directory included under Project Properties > VC++ Directories along with the library directories for BOTH x86 and x64. I've attached the compiler log, the CPP and the header file for the section of the project that is giving me an issue.
If i'm not mistaken, the issues i'm getting are because something isn't included correctly, or at all. I'm just not sure what needs included.

Attached Files



Sponsor:

#2 Ripiz   Members   -  Reputation: 529

Like
1Likes
Like

Posted 02 August 2012 - 09:41 AM

You are building 32bit application:
1>------ Build started: Project: DX_Project, Configuration: Debug Win32 ------

However you include 64bit libraries:
1> Searching C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64\dxgi.lib:
1> Searching C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64\d3d11.lib:
1> Searching C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64\d3dx11.lib:
1> Searching C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64\d3dx10.lib:


Remove 64 bit library paths from 32 bit project settings and it should be fine.

Edited by Ripiz, 02 August 2012 - 09:41 AM.


#3 Inuyashakagome16   Members   -  Reputation: 835

Like
0Likes
Like

Posted 02 August 2012 - 11:26 AM

Smart man. :P Thanks!
Now i just have this issue >___>

1>------ Build started: Project: DX_Project, Configuration: Debug x64 ------
1>  D3dclass.cpp
1>D3dclass.cpp(118): error C2664: 'errno_t wcstombs_s(size_t *,char *,size_t,const wchar_t *,size_t)' : cannot convert parameter 1 from 'unsigned int *' to 'size_t *'
1>		  Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


and this is the line that is being referenced
error = wcstombs_s(&stringLength, m_videoCardDescription, 128, adapterDesc.Description, 128);

Looking over the code, i don't see where the issue is coming from. "Can't convert from unsigned to size_t" the unsigned parameter is string length which is

unsigned int numModes, i, numerator, denominator, stringLength;

videoCardDescription is declared in the header file

char m_videoCardDescription[128];

and adapterDesc is

DXGI_ADAPTER_DESC adapterDesc;

I'm just not sure what's wrong. I'm still looking at it so I may end up finding it and just updating this thread.

#4 Ripiz   Members   -  Reputation: 529

Like
2Likes
Like

Posted 02 August 2012 - 01:01 PM

You have unsigned int stringLength; but you need size_t stringLength;

#5 SIC Games   Members   -  Reputation: 609

Like
0Likes
Like

Posted 02 August 2012 - 07:51 PM

as Ripiz said, SIZE_T returns a unsigned interger. It like sizeof() operatator. So, if you're trying to return a size of a string then you'll need a length. Maybe you've already got it but I just threw it out there to help out a bit.

Game Engine's WIP Videos - http://www.youtube.com/sicgames88


#6 Inuyashakagome16   Members   -  Reputation: 835

Like
0Likes
Like

Posted 03 August 2012 - 05:12 AM

Well, I ended up looking back at Ripiz original post about the library issue and decided I would double check to be sure I got rid of them. And I didn't >__> I was building with a x64 but with both libraries included. I removed the x64 and just started building with Win32 and it worked first time. >_< User error I say. :P Thanks guys

#7 SIC Games   Members   -  Reputation: 609

Like
0Likes
Like

Posted 03 August 2012 - 10:01 AM

You're welcome boss! That would make sense because my engine includes 64 bit library and for the 32 bit version includes the 32 bit library. :)

Game Engine's WIP Videos - http://www.youtube.com/sicgames88





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS