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
|
Zaslal: 28. únor 2008, 21:12:01 Předmět: Problem s kompilaci ve VC++ 2005 |
|
|
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 |
|
|
Weny Sky
Založen: 28. 07. 2007 Příspěvky: 241
|
Zaslal: 28. únor 2008, 23:19:54 Předmět: |
|
|
zdrojak toho hlavickoveho souboru by neuskodil. |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 29. únor 2008, 07:46:21 Předmět: |
|
|
ale dat ho na http://nopaste.ceske-hry.cz/ _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 29. únor 2008, 14:33:39 Předmět: |
|
|
Podle mě v tom hlavičkovém souboru máš syntaktickou chybu (chybí závorka nebo tak něco). _________________ Mám strach |
|
Návrat nahoru |
|
|
Deluxe
Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. únor 2008, 18:00:16 Předmět: |
|
|
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. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
JohnyDog
Založen: 17. 08. 2007 Příspěvky: 66
|
Zaslal: 29. únor 2008, 18:43:37 Předmět: |
|
|
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 |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. únor 2008, 18:51:05 Předmět: |
|
|
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 |
|
|
Deluxe
Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 29. únor 2008, 19:12:24 Předmět: |
|
|
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 |
|
|
JohnyDog
Založen: 17. 08. 2007 Příspěvky: 66
|
Zaslal: 29. únor 2008, 19:33:48 Předmět: |
|
|
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 |
|
|
Deluxe
Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 29. únor 2008, 20:05:03 Předmět: |
|
|
tak sem to konecne nasel predefinoval sem #define distance |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 2. březen 2008, 01:13:58 Předmět: |
|
|
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 |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 2. březen 2008, 01:37:16 Předmět: |
|
|
quas4> A je pro to nějaký rozumný důvod? _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 2. březen 2008, 20:27:32 Předmět: |
|
|
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 |
|
|
|