.[ ČeskéHry.cz ].
Problém při kompilaci s Visual Studio 9.0

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 22. listopad 2009, 13:05:52    Předmět: Problém při kompilaci s Visual Studio 9.0 Odpovědět s citátem

Chtěl jsem převést svůj stávající projekt z jednoho prostředí do druhého. (z Code::Blocks), stáhl si potřebné knihovny pro VS, nastavil projekt, ale někde je asi chyba.

Při debuggování mi to padá a ukazuje řádek s
kód:
retval = __dllonexit((_onexit_t)_encode_pointer(func), &onexitbegin, &onexitend);


z atoexit.c

Možná to souvisí s warningem, který se mi pokaždé ukazuje :
kód:
MSVCRT.lib(cpu_disp.obj) : warning LNK4210: .CRT section exists; there may be unhandled static initializers or terminators


Tenhle warning jsem i vygooglil, bohužel moc užitečných rad jsem nenašel.

Setkal se někdo s něčím podobným?

Navíc je zajímavé, že pokud to pustím v rámci Visual Studia, tak to nedojde ani na první break point hned na první řádce v main fci, pokud to pustím jako normální exe soubor, tak se i vytvoří okno se správnou ikonkou, ale pak to padne. (žádná hláška, jen to vyjede)
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 22. listopad 2009, 15:09:53    Předmět: Odpovědět s citátem

Zajímavé, že vždy řeším nějaký problém dny, pak se zeptám a vyřeším ho během "chvíle".

Pro lidi, co toto vygooglí. Řešením bylo založit nový projekt přesně podle tohoto návodu http://www.mrmoen.com/2008/03/30/opengl-with-visual-c-express-edition/

Pravděpodobně byla předtím chyba, že jsem při vytváření projektu zvolil špatný typ projektu. (používám OpenGL, Freetype, SDL)
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 22. listopad 2009, 15:13:47    Předmět: Odpovědět s citátem

Určitě jsi před kompilací ve VS smazal všechny .obj soubory vytvořené Codem::Blocks? Používáš správné verze knihoven (pro VS)?
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 22. listopad 2009, 15:45:34    Předmět: Odpovědět s citátem

Quirk: už je vyřešeno, příspěvek výše. A jinak ano, to jsem udělal, lépe řečeno ve VS jsem udělal nový projekt a jen zkopíroval a vložil zdrojáky.

Spíš teď jiný "problém". Vše bez problémů funguje, jen mi tam visí jeden warning, s kterým nevím co udělat.

kód:
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library


když nastavím NODEFAULTLIB, případně jen tuto knihovnu dám ignorovat, tak se mi objeví spousta jiných chyb.

kód:
1>main.obj : error LNK2019: unresolved external symbol __imp__fprintf referenced in function _SDL_main
1>engine.obj : error LNK2001: unresolved external symbol __imp__fprintf
1>TGALoader.obj : error LNK2001: unresolved external symbol __imp__fprintf
1>Vector.obj : error LNK2001: unresolved external symbol __imp__fprintf

_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 22. listopad 2009, 20:57:59    Předmět: Odpovědět s citátem

Tohle je typicky zpusobeno tim, ze linkujes .liby, ktere jsou zkompilovany s jinou verzi VC++ runtime. Napriklad, svuj program kompilujes se statickou verzi runtime, a linkujes k nemu SDL, ktere je kompilovano s DLL verzi runtime (viz v nastaveni projektu C/C++\Code generation\Runtime Library).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 22. listopad 2009, 22:27:27    Předmět: Odpovědět s citátem




teď jsem zjistil, že mi ten warning hází jen při kompilaci debug verze, u releasu ne.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna