.[ ČeskéHry.cz ].
Problem s kompilaci ve VC++ 2005
Jdi na stránku 1, 2  Další
 
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
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 28. únor 2008, 21:12:01    Předmět: Problem s kompilaci ve VC++ 2005 Odpovědět s citátem

Mam problem s kompilaci meho projektu ve Visual c++ 2005. Vytvoril sem si novy hlavickovy soubor deklarujici struktury pro matice, vektory...
Problem je v tom, ze tenhle hlavickovy soubor musim includovat do projektu jako posledni, jinak VC++ vyhodi nekolik erroru pri kompilaci:
kód:

1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : error C2146: syntax error : missing ')' before identifier '_First'
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : error C2065: '_First' : undeclared identifier
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : error C2433: 'length' : 'inline' not permitted on data declarations
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : error C2988: unrecognizable template declaration/definition
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : error C2059: syntax error : '-'
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1652) : error C2059: syntax error : ')'
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1663) : error C2143: syntax error : missing ';' before '{'
1>c:\program files\microsoft visual studio 8\vc\include\xutility(1663) : error C2447: '{' : missing function header (old-style formal list?)

Uz druhy den nad tim badam a porad nemuzu prijit nato cim to je, nevim jestli se to nestava casteji, tak zatim nepisu alespon ukazku toho *.h souboru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Weny Sky



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

PříspěvekZaslal: 28. únor 2008, 23:19:54    Předmět: Odpovědět s citátem

zdrojak toho hlavickoveho souboru by neuskodil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



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

PříspěvekZaslal: 29. únor 2008, 07:46:21    Předmět: Odpovědět s citátem

ale dat ho na http://nopaste.ceske-hry.cz/
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



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

PříspěvekZaslal: 29. únor 2008, 14:33:39    Předmět: Odpovědět s citátem

Podle mě v tom hlavičkovém souboru máš syntaktickou chybu (chybí závorka nebo tak něco).
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 29. únor 2008, 14:56:34    Předmět: Odpovědět s citátem

Tak tady je ten zdrojak, snad to neni jen nejaka prkotina http://nopaste.ceske-hry.cz/1134
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 29. únor 2008, 18:00:16    Předmět: Odpovědět s citátem

1) Nejdřív includuj standardní knihovny a STL, potom ty vlastní. Pro nalezení chyby by sis musel projít ten soubor xutility a porovnat, co přesně to chce a jestli jsi mu něco nezměnil přes vlastní headery.
2) Ten kód už jsem někde viděl.... je opravdu velmi neslušné vydávat kód Emila Perssona pod vlastním jménem a vlastním copyrightem, styď se. Razz
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JohnyDog



Založen: 17. 08. 2007
Příspěvky: 66

PříspěvekZaslal: 29. únor 2008, 18:43:37    Předmět: Odpovědět s citátem

Kdyby to nebylo VC ale GCC tak by byl problem v
kód:

#ifndef _VECTOR_H
#define _VECTOR_H

protoze stejne pojmenovane include-guardy pouziva gcc STL vector.
Jestli je to problem i u nekterych verzi VC to netusim.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 29. únor 2008, 18:51:05    Předmět: Odpovědět s citátem

Dobrej postřeh - z toho důvodu je lepší nepoužívat konstrukci #ifndef #define .. header .. #endif ale pouze #pragma once na začátku, což dělá to samý.
EDIT: VC++2008 definuje _VECTOR_, jinak ještě by mohlo dělat problém to předefinování min/max.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 29. únor 2008, 19:12:24    Předmět: Odpovědět s citátem

To #ifndef pouzivam protoze se chci pokusit ten zdrojak pouzit i na jiny platformne nez windows. Ten copyright ber fakt s rezervou, nikde sem to nechtel ukazovat a taky to tak kopiruju do vsech souboru. Kdyby se oto nekdo zajimal samozrejmne bych to nevydaval za svoje. Jinak dik za rady, zkusim stim neco udelat
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JohnyDog



Založen: 17. 08. 2007
Příspěvky: 66

PříspěvekZaslal: 29. únor 2008, 19:33:48    Předmět: Odpovědět s citátem

Deluxe napsal:
To #ifndef pouzivam protoze se chci pokusit ten zdrojak pouzit i na jiny platformne nez windows.

#pragma once funguje i na GCC (pres vsechny platformy) i na jinych kompilatorech
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 29. únor 2008, 20:05:03    Předmět: Odpovědět s citátem

tak sem to konecne nasel predefinoval sem #define distance Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 2. březen 2008, 01:13:58    Předmět: Odpovědět s citátem

jen poznamka:

Eosie napsal:
1) Nejdřív includuj standardní knihovny a STL, potom ty vlastní.


Vsechny "coding standards" ktere jsem cetl vyzaduji presne opacne poradi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 2. březen 2008, 01:37:16    Předmět: Odpovědět s citátem

quas4> A je pro to nějaký rozumný důvod?
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 2. březen 2008, 09:38:48    Předmět: Odpovědět s citátem

kvuli tzv. "hidden dependencies"
viz napr: http://llvm.org/docs/CodingStandards.html#scf_includes
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 2. březen 2008, 20:27:32    Předmět: Odpovědět s citátem

To je pro mě unreal, protože moje třídy jsou na STL závislé (kontejnery, string, ...), tzn. STL musí být dřív.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
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
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
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