C++ Problem z błędami

0

Witam,
od wykładowcy na uczelni dostaliśmy silnik graficzny, na skonfigurowanych uczelnianych komputerach wszystko działa lecz problem pojawia się przy próbie włączenia go na moim laptopie. poniżej treść błędu:

1>TL-Engine2010Debug.lib(CTextureManagerDX.obj) : error LNK2019: unresolved external symbol _D3DXCreateSprite@8 referenced in function "public: __thiscall tlx::CTextureManagerDX(class tlx::CResourceManager * const,struct IDirect3DDevice9 * const,struct _D3DCAPS9 const * const)" (??0CTextureManagerDX@tlx@@QAE@QAVCResourceManager@1@QAUIDirect3DDevice9@@QBU_D3DCAPS9@@@Z)
1>TL-Engine2010Debug.lib(CTextureManagerDX.obj) : error LNK2019: unresolved external symbol _D3DXGetImageInfoFromFileA@8 referenced in function "private: virtual enum tlx::EError __thiscall tlx::SurfaceFormatFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct tlx::SSurfaceFormat *)" (?SurfaceFormatFromFile@CTextureManagerDX@tlx@@EAE?AW4EError@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUSSurfaceFormat@2@@Z)
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _D3DXGetImageInfoFromFileA@8
1>TL-Engine2010Debug.lib(CTextureSurfaceDX.obj) : error LNK2019: unresolved external symbol _D3DXCheckTextureRequirements@28 referenced in function "public: static enum tlx::EError __cdecl tlx::CheckFormat(struct IDirect3DDevice9 * const,struct _D3DCAPS9 const * const,int,struct tlx::SSurfaceFormat *,enum tlx::ERoundingMethod)" (?CheckFormat@CTextureSurfaceDX@tlx@@SA?AW4EError@2@QAUIDirect3DDevice9@@QBU_D3DCAPS9@@HPAUSSurfaceFormat@2@W4ERoundingMethod@2@@Z)
1>TL-Engine2010Debug.lib(CTextureSurfaceDX.obj) : error LNK2019: unresolved external symbol _D3DXLoadSurfaceFromFileA@32 referenced in function "private: virtual enum tlx::EError __thiscall tlx::LoadFileSource(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int,unsigned int,unsigned int)" (?LoadFileSource@CTextureSurfaceDX@tlx@@EAE?AW4EError@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IIII@Z)
1>TL-Engine2010Debug.lib(CFontDX.obj) : error LNK2019: unresolved external symbol _D3DXCreateFontA@48 referenced in function "public: __thiscall tlx::CFontDX(struct IDirect3DDevice9 * const,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)" (??0CFontDX@tlx@@QAE@QAUIDirect3DDevice9@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z)
1>TL-Engine2010Debug.lib(CGenericProcessDX.obj) : error LNK2019: unresolved external symbol _D3DXCompileShaderFromFileA@36 referenced in function "public: __thiscall tlx::CGenericProcessDX(struct IDirect3DDevice9 *,struct tlx::SRenderProcessSpec const &,struct tlx::SPrimitiveData const &)" (??0CGenericProcessDX@tlx@@QAE@PAUIDirect3DDevice9@@ABUSRenderProcessSpec@1@ABUSPrimitiveData@1@@Z)
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2019: unresolved external symbol _D3DXFileCreate@4 referenced in function "private: enum tlx::EError __thiscall tlx::PrepareXFileObject(struct ID3DXFile * *)" (?PrepareXFileObject@CImportXFile@tlx@@AAE?AW4EError@2@PAPAUID3DXFile@@@Z)
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMMesh
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMFrameTransformMatrix
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMFrame
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _DXFILEOBJ_SkinWeights
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _DXFILEOBJ_XSkinMeshHeader
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _DXFILEOBJ_FaceAdjacency
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _DXFILEOBJ_VertexDuplicationIndices
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMMeshMaterialList
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMMeshVertexColors
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMMeshTextureCoords
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMMeshNormals
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMTextureFilename
1>TL-Engine2010Debug.lib(CImportXFile.obj) : error LNK2001: unresolved external symbol _TID_D3DRMMaterial
1>LIBCMTD.lib(wincrt0.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

Poniżej treść głownego *.cpp:

// Game.cpp: A program using the TL-Engine

#include <TL-Engine.h>	// TL-Engine include file and namespace
using namespace tle;

void main()
{
	// Create a 3D engine (using TLX engine here) and open a window for it
	I3DEngine* myEngine = New3DEngine( kTLX );
	myEngine->StartWindowed();

	// Add default folder for meshes and other media
	myEngine->AddMediaFolder( "C:\\ProgramData\\TL-Engine\\Media" );

	/**** Set up your scene here ****/


	// The main game loop, repeat until engine is stopped
	while (myEngine->IsRunning())
	{
		// Draw the scene
		myEngine->DrawScene();

		/**** Update your scene each frame here ****/

	}

	// Delete the 3D engine now we are finished with it
	myEngine->Delete();
}
 

Zainstalowałem oczywiście DXSDK_Jun10 oraz zmieniłem wartości VC++ Directories // Include Directores na:

$(IncludePath);$(DXSDK_DIR)\include

oraz Library Directories na:

$(LibraryPath);$(DXSDK_DIR)\lib\x64

Próbowałem również zmieniać wartość SubSystem we właściwościach Linkera m.in. Console / Windows / Native - niestety nic nie pomaga.
Proszę o pomoc.

1

jeśli korzystasz z visual studio project properties --> linker --> input --> additional dependencies --> (tutaj musisz dodać liby od directx np d3d9.lib) musisz jeszcze dodać biblioteki lib z których korzysta ten silnik. Bo to jest błąd linkera któy nie potrafi powiązać funckji z jej adresem a i jeszcze musisz wskazać katalog z libami

0

Niestety, albo ja coś robie źle albo to nie pamaga.

Dziwne to wszystko, na wykładzie była demonstracja, konfiguracja vs, tl-enginea. Wszystko zrobiłem tak jak było to pokazane i ciągle to samo. To samo nawet robiłem na lobalatoriach... i tylko u mnie w domu są problemy.
Co do tych libliotek dodałem kilka, żeby sprawdzić czy to pomaga, dodany cały czas jest folder z bibliotekami ( zmieniałem również z x86 na x64 ) żeby sprawdzić czy to pomoże i ciągle to samo. Dodam że ilość błędów cały czas pokazuje 21.

///////////////////////////////////////////////////////
Edit:
Znalazłem rozwiązanie, może komuś w przyszłości się przyda.
Jako iż jest to microsoft to rowiązanie musiałobyć iście idiotyczne. W ustawieniach projektu -> trzeba zmienić wartości Include oraz Library Directeries ( oczywiście miałem je zmienione jak już wspomniałem w pierwszym poście, trzeba je odpowiednio usytuować w Library Directeries dokładnie w takiej kolejności:
\Microsoft DirectX SDK (June 2010)\Lib
\Microsoft DirectX SDK (June 2010)\Lib\x86
\Microsoft DirectX SDK (June 2010)\Lib\x64
nie wiem czy tak samo będzie działać na maszynach x86 ale u mnie na x64 działa ... Bez dopisywania żadnych dodatkowych bibliotek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1