Problem z irrlichtem pierwsze okno

0

Witam próbuje zacząć prace z silnikiem irrlicht w visual studio 2010 dodałem całą biblioteke include oraz libray do projektu
wpisując kod

#include "StdAfx.h"
#include <irrlicht.h>


using namespace irr;
using namespace core;
using namespace scene;
using namespace video;

int main()

{
    IrrlichtDevice * device = createDevice( EDT_OPENGL, core::dimension2d < u32 >( 800, 600 ),
    32, false, false, false, 0 );
    
    video::IVideoDriver * video = device->getVideoDriver();
    scene::ISceneManager * menage = device->getSceneManager();
    menage->addCameraSceneNode( 0, vector3df( 0, 30, - 40 ), vector3df( 0, 5, 0 ) );
    
    while( device->run() )
    
    {
        video->beginScene( true, true, video::SColor( 255, 0, 10, 200 ) );
        menage->drawAll();
        video->endScene();
    }
    device->drop();
    return 0;
} 

wypisuje mi błąd

1>conTest.obj : error LNK2019: unresolved external symbol __imp__createDevice referenced in function _main
1>C:\Users\luppo\Documents\Visual Studio 2010\Projects\conTest\Debug\conTest.exe : fatal error LNK1120: 1 unresolved externals

przeczytałem ze jest to problem z główną funkcją main ale nie potrafie tego rozwiązać

gdy usune #include "StdAfx.h" wyskakuje mi błąd

1>c:\users\luppo\documents\visual studio 2010\projects\contest\contest\contest.cpp(1): warning C4627: '#include <irrlicht.h>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\luppo\documents\visual studio 2010\projects\contest\contest\contest.cpp(29): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

Prosze o pomoc

0

Wygląda na to, że w opcjach linkera w projekcie (Project Properties->Linker->Input->Additional Dependencies) nie dodałeś "Irrlicht.lib"

0
Tomek2 napisał(a)

Wygląda na to, że w opcjach linkera w projekcie (Project Properties->Linker->Input->Additional Dependencies) nie dodałeś "Irrlicht.lib"

Witam zrobiłem jak pisałeś zmienił się błąd na

1>LINK : fatal error LNK1104: cannot open file 'C:\Program Files\Microsoft Visual Studio 10.0\irrlicht-1.7.2\lib\Win32-visualstudio.obj

rozumie ze nie potrafi otworzyć pliku nie wiem czy jest to związane z tym ze nie mogłem wybrac Irrlicht.lib tylko musiałem zaznaczyć cały folder

0

Nie rozumiem, jak nie możesz wybrać irrlicht.lib. Tam w opcjach w każdej linii możesz podać dowolną ścieżkę. Możesz albo podać pełną ścieżkę do tego liba, albo podać samą nazwę pliku, a ścieżkę do katalogu gdzie leży ta libka podać w Project Properties -> Configuration Properties -> VC++ Directories-> Library Directories.

0
Tomek2 napisał(a)

Nie rozumiem, jak nie możesz wybrać irrlicht.lib. Tam w opcjach w każdej linii możesz podać dowolną ścieżkę. Możesz albo podać pełną ścieżkę do tego liba, albo podać samą nazwę pliku, a ścieżkę do katalogu gdzie leży ta libka podać w Project Properties -> Configuration Properties -> VC++ Directories-> Library Directories.

Jeżeli chodzi o Project Properties -> Configuration Properties -> VC++ Directories-> Library Directories. to juz na początku dodałem folder lib
w Project Properties -> Configuration Properties -> VC++ Directories-> Include Directories. dodałem cały katalog include
oraz w Project Properties -> Configuration Properties -> Linker-> Input->Additional Dependencies dodałem poraz kolejny folder lib w którym sa dwa pliki:
irrlicht (obiect file library )
irrlicht (exports library file)

0

Zobacz w załącznik - przy poprawnej konfiguracji twój przykład poprawnie się kompiluje i odpala.
No i nie podawaj katalogu lib w Library Directories, bo on zawiera podkatalogi i ten który cię interesuje to zapewne irrlicht-1.7.2\lib\Win32-visualstudio.

0

Bardzo Ci dziękuje za zdjęcia zauważyłem ze ja nie dodałem Project Properties -> Configuration Properties -> VC++ Directories->Executables Directories

Teraz mi wyskakuje okno ale wraz z errorem ze brakuje mi biblioteki irrlicht.dll znalazłem ją w katalogu bin i nie wiem czy mam ją przenieść do innego czy też w visualu mam ją jakoś dodać . Mógł byś mi jeszcze z tym pomoc ??

0

Tu Visual mnie lekko zawiódł. Executable Directories jest widać używany tylko cytat "while building a VC++ project" i nie działa podczas uruchamiania aplikacji pod visualem.
Poradziłem sobie z tym tak jak w załączniku - Debugging->Environment i dodałem katalog z dll-ką do PATH-a (Merge Environment powinno być ustawione na "Yes").

0

Witam wszystko działa ale dodatkowo musialem wrzucić irrlicht.dll do katalogu debug. Bardzo ci diękuję za pomoc. Może znasz jakieś kursy irrlichta ??

0

Niestety nie. Szczerze to nawet nie wiedziałem, że istnieje coś takiego jak irrlicht, dopóki nie przyczytałem Twojego wpisu. Do problemu podszedłem czysto programistycznie, żeby rozwiązać problem kompilacji/linkowania.

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