Forum index VCMI Project - Heroes 3: WoG recreated
Forum of the project aiming to recreate best turn-based strategy ever!

FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  StatisticsStatistics
RegisterRegister  Log inLog in  AlbumAlbum  DownloadDownload

Previous topic :: Next topic
Problem ze skompilowaniem
Author Message
Arthusp 

Joined: 18 Mar 2010
Posts: 5
Posted: 2010-03-18, 22:12   Problem ze skompilowaniem

Witam.

Przed paroma chwilami zassałem sobie źródła z https://vcmi.svn.sourceforge.net/svnroot/vcmi. I dalej spróbowałem skompilować projekt. I o ile VCMI_lib nie było większych przejść, o tyle już z VCMI_server nie dałem rady. Przy próbie zbudowania VCMI_server dostaję takie coś:

Code:

1>Linking...
1>   Creating library C:\Users\Arthus\Desktop\VCMI\trunk\server\\VCMI_server.lib and object C:\Users\Arthus\Desktop\VCMI\trunk\server\\VCMI_server.exp
1>CGameHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class int3 __thiscall IBoatGenerator::bestLocation(void)const " (__imp_?bestLocation@IBoatGenerator@@QBE?AVint3@@XZ) referenced in function "public: bool __thiscall CGameHandler::buildBoat(unsigned long)" (?buildBoat@CGameHandler@@QAE_NK@Z)
1>CGameHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall IBoatGenerator::state(void)const " (__imp_?state@IBoatGenerator@@QBEHXZ) referenced in function "public: bool __thiscall CGameHandler::buildBoat(unsigned long)" (?buildBoat@CGameHandler@@QAE_NK@Z)
1>CGameHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall CGHeroInstance::getSpellCost(class CSpell const *)const " (__imp_?getSpellCost@CGHeroInstance@@QBEHPBVCSpell@@@Z) referenced in function "public: bool __thiscall CGameHandler::castSpell(class CGHeroInstance const *,int,class int3 const &)" (?castSpell@CGameHandler@@QAE_NPBVCGHeroInstance@@HABVint3@@@Z)


I z tym problemem zwracam się do Was - nie rozumiem o co kompilatorowi chodzi. Przejrzałem źródła z VCMI_lib i znalazłem brakujące metody. O co chodzi? Gdzie się muszę poprawić, aby skompilować projekt?

Z góry dziękuję za odpowiedź i pozdrawiam!
 
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2010-03-19, 01:15   

Linker coś nie może schwycić funkcji eksportowanych przez VCMI_lib. najpewniej nie próbuje albo nie potrafi się dobrać do .liba.

1) Czy użyłeś aktualnych plików projektu z repozytorium? Czy w ustawieniach projektu (Linker -> Input) w polu Additional Dependencies znajduje się VCMI_lib.lib?
2) Czy na pewno VCMI_lib w pełni poprawnie, do końca się zbudował? Czy wygenerowane zostały pliki VCMI_lib.dll i VCMI_lib.lib? Czy pliki te znajdują się w folderze widocznym dla linkera (Linker -> General -> pole Additional Library Directories)?
(Domyślnie jest to folder trunka, nadrzędny do plików poszczególnych projektów. Jeśli postawiłeś to w jakimś innym układzie, to ściezki musisz stosowanie poprawić.)
_________________
VCMI is a work in progress.
VCMI is NOT an another mod.
 
     
Arthusp 

Joined: 18 Mar 2010
Posts: 5
Posted: 2010-03-19, 10:56   

Witam!

Dzięki za propozycje rozwiązań, jednak tutaj było coś innego. Nie wiem co, chyba jakaś magia "zrestartowanego komputera". Dziś rano usiadłem i przekompilowałem jeszcze raz od początku (dokładnie tak samo, jak robiłem wczoraj) i zadziałało! :shock:

Jeszcze raz dzięki za rady!

Pozdrawiam.

Edytka:
Zagadka rozwiązana, a przynajmniej sposób na jej ominięcie: przypadłość występuje, gdy używacie VSC++ 2008EE. Po pierwszym uruchomieniu pobranych coś się źle importuje. Należy zrestartować środowisko i będzie ok.
 
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2010-03-20, 00:28   

Heh. Najprostsze rozwiązania - jak przebudowa projektu - często okazują się najlepsze (sam miałem kilka takich dziwnych błędów), a jakoś trudno na nie w takiej sytuacji wpaść.

Miłej eksploracji naszych straszliwych źródeł! ;-)
_________________
VCMI is a work in progress.
VCMI is NOT an another mod.
 
     
Arthusp 

Joined: 18 Mar 2010
Posts: 5
Posted: 2010-03-20, 13:50   

Właśnie nie - to jest jakiś "większy" bug VS. Przebudowanie projektu, czy też czyszczenie i budowanie nie są rozwiązaniem. Przed pierwszym uruchomieniem ściągniętych źródeł trzeba ponownie uruchomić całe VS - w przeciwnym wypadku dzieją się takie rzeczy. Zaobserwowane także na VCMI_client. :-(
 
 
     
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Add this topic to your bookmarks
Printable version

Jump to:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Template Chronicles modified by Nasedo modified by Tow.
Š VCMI Team
Page generated in 0.05 second. SQL queries: 13