# komische TypeCast-fehler



## mÄh (11. Juli 2006)

Hallo Außenwelt,
ich möchte die xercesc-lib erstellen.
eigentlich die dynamische, aber da ich damit eine reihe von linkerprobleme erhalten habe, nun die statische version.

dort bekomme ich beim erstellen mittlerweile (nur noch) die fehler:
1.
com\XMLDOMDocument.cpp(1461) : error C2664: '_wfopen': Konvertierung des 
Paramet
ers 2 von 'const char [3]' in 'const wchar_t *' nicht möglich
        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die 
Konvertieru
ng erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- 
oder Funktionsformat

2.
com\XMLHTTPRequest.cpp(885) : error C2664: 'SysAllocStringByteLen': 
Konvertierun
g des Parameters 1 von 'TCHAR *' in 'LPCSTR' nicht möglich
        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die 
Konvertieru
ng erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- 
oder
Funktionsformat.

weiß jemand, was die bedeuten bzw. wie die weggehen?

thx
mh


----------



## MCoder (11. Juli 2006)

Schaut nach einem UNICODE-Problem aus. Arbeitest du mit VS2003 bzw. VS2005? Dort werden standardmäßig UNICODE-Projekte angelegt. Du solltest mal versuchen, die UNICODE-Unterstützung abzuschalten. 
Ich bin mir nicht ganz sicher, aber ich glaube, das ist die Zeichensatzeinstellung in den allgemeinen Konfigurationseigenschaften bei den Projekteigenschaften.

Gruß
MCoder


----------



## mÄh (12. Juli 2006)

hm, eigentlich benutze ich das SDK mit qtwin, aber ich habe das mal ausprobiert. hat aber leider nix geholfen.

hier vielleicht noch mal ein detaillierterer Hilferuf:


I want to build xerces.lib (actually dynamical, but as there are many linker 
errors using the dll, the static .lib version)
ich möchte die xercesc-lib erstellen.
eigentlich die dynamische, aber da ich damit eine reihe von linkerprobleme
erhalten habe, nun die statische version.

After compiling I got the following errors:
dort bekomme ich beim erstellen mittlerweile (nur noch) die fehler:
1.
com\XMLDOMDocument.cpp(1461) : error C2664: '_wfopen': Konvertierung des
Paramet
ers 2 von 'const char [3]' in 'const wchar_t *' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die
Konvertieru
ng erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C-
oder Funktionsformat

in der entsprechenden Zeile von com\XMLDOMDocument.cpp steht:
FILE* fp = _tfopen(file, "wt");

2.
com\XMLHTTPRequest.cpp(885) : error C2664: 'SysAllocStringByteLen':
Konvertierun
g des Parameters 1 von 'TCHAR *' in 'LPCSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die
Konvertieru
ng erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C-
oder
Funktionsformat.

in com\XMLHTTPRequest.cpp(885) steht:
*pVal = SysAllocStringByteLen(psz,m_lResponseBodyLength);

does anybody know how I can get it running?
weiß jemand, wie ich die wegbekomme?

I use MS SDK with MS Visual C++ 2005 Express Edition.
(I have qt-win-opensource-src-4.1.1 installed so that I can compile by 
typing qmake, nmake as there is a corresponding .pro-file for xerces)

thx
mh


----------



## deepthroat (13. Juli 2006)

Hi.





			
				mah hat gesagt.:
			
		

> hm, eigentlich benutze ich das SDK mit qtwin, aber ich habe das mal ausprobiert. hat aber leider nix geholfen.


Was genau hast du denn gemacht? Wenn du Unicode und MBCS wirklich abgestellt hast sollten keine Fehler mehr auftreten. Andererseits kannst du natürlich auch den Code berichtigen.



			
				mah hat gesagt.:
			
		

> FILE* fp = _tfopen(file, "wt");


Änder das mal in 
	
	
	



```
FILE* fp = _tfopen(file, TEXT("wt"));
```
 (Und benutze doch bitte die Code Tags wenn du Code postest. Danke.)



			
				mah hat gesagt.:
			
		

> com\XMLHTTPRequest.cpp(885) : error C2664: 'SysAllocStringByteLen':
> Konvertierun
> g des Parameters 1 von 'TCHAR *' in 'LPCSTR' nicht möglich
> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die
> ...


Hier müßte psz immer als LPCSTR deklariert sein und nicht als TCHAR*. Den Teil kann man aber nur berichtigen wenn man mehr von dem Code sieht um zu sehen was dort eigentlich gemacht wird.

Gruß


----------



## mÄh (13. Juli 2006)

Danke für deine Hilfe soweit erst mal!
Die beiden Fehler sind jetzt erst mal behoben. 
Dafür bekomme ich eine Reihe von neuen:


```
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1043): Siehe Deklaration von
 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\include\atl\atlcom.h(3212): Siehe Verweis auf
die Instanziierung der gerade kompilierten Klassen-template "ATL::CComObjectRoot
Ex<ThreadModel>".
        with
        [
            ThreadModel=ATL::CComGlobalsThreadModel
        ]
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner '_AutoDelCritSec'
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'm_critsec'
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(3495) : error C3861: "_ATL_VALIDA
TE_OUT_POINTER": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'thunk'
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlwin.h(1502) : error C2065: 'thunk': nic
htdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlwin.h(1502) : error C2228: Links von ".
Init" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
StdAfx.cpp
e:\microsoft platform sdk\src\mfc\atlbase.h(834) : error C2065: 'T': nichtdeklar
ierter Bezeichner
e:\microsoft platform sdk\src\mfc\atlbase.h(881) : error C2061: Syntaxfehler: Be
zeichner 'T'
e:\microsoft platform sdk\src\mfc\atlbase.h(883) : error C2065: 'ppT': nichtdekl
arierter Bezeichner
e:\microsoft platform sdk\include\atl\atlcom.h(72) : error C2065: 'USES_CONVERSI
ON_EX': nichtdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlcom.h(73) : error C2065: '_ATL_SAFE_ALL
OCA_DEF_THRESHOLD': nichtdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlcom.h(73) : error C3861: "A2COLE_EX": B
ezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(80) : error C3861: "A2CW_EX": Bez
eichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(95) : error C3861: "A2COLE_EX": B
ezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(587) : error C3861: "OLE2CT_EX":
Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1228) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1241) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1254) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1325) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1376) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1452) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1477) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1491) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1535) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1654) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1759) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1777) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1785) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1830) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1847) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1855) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1890) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1900) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComSingleThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1053): Siehe Deklaration von
 'ATL::CComSingleThreadModel'
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner '_AutoDelCritSec'
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1043): Siehe Deklaration von
 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\include\atl\atlcom.h(2752): Siehe Verweis auf
die Instanziierung der gerade kompilierten Klassen-template "ATL::CComObjectCach
ed<Base>".
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'm_csCached'
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1043): Siehe Deklaration von
 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\include\atl\atlcom.h(3212): Siehe Verweis auf
die Instanziierung der gerade kompilierten Klassen-template "ATL::CComObjectRoot
Ex<ThreadModel>".
        with
        [
            ThreadModel=ATL::CComGlobalsThreadModel
        ]
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner '_AutoDelCritSec'
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'm_critsec'
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(3495) : error C3861: "_ATL_VALIDA
TE_OUT_POINTER": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'thunk'
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlwin.h(1502) : error C2065: 'thunk': nic
htdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlwin.h(1502) : error C2228: Links von ".
Init" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
BindStatusCallback.cpp
e:\microsoft platform sdk\src\mfc\atlbase.h(834) : error C2065: 'T': nichtdeklar
ierter Bezeichner
e:\microsoft platform sdk\src\mfc\atlbase.h(881) : error C2061: Syntaxfehler: Be
zeichner 'T'
e:\microsoft platform sdk\src\mfc\atlbase.h(883) : error C2065: 'ppT': nichtdekl
arierter Bezeichner
e:\microsoft platform sdk\include\atl\atlcom.h(72) : error C2065: 'USES_CONVERSI
ON_EX': nichtdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlcom.h(73) : error C2065: '_ATL_SAFE_ALL
OCA_DEF_THRESHOLD': nichtdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlcom.h(73) : error C3861: "A2COLE_EX": B
ezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(80) : error C3861: "A2CW_EX": Bez
eichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(95) : error C3861: "A2COLE_EX": B
ezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(587) : error C3861: "OLE2CT_EX":
Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1228) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1241) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1254) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1325) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1376) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1452) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1477) : error C3861: "AtlHresultF
romWin32": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1491) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1535) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1654) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1759) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1777) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1785) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1830) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1847) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1855) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1890) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(1900) : error C3861: "AtlHresultF
romLastError": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComSingleThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1053): Siehe Deklaration von
 'ATL::CComSingleThreadModel'
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner '_AutoDelCritSec'
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2536) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1043): Siehe Deklaration von
 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\include\atl\atlcom.h(2752): Siehe Verweis auf
die Instanziierung der gerade kompilierten Klassen-template "ATL::CComObjectCach
ed<Base>".
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'm_csCached'
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2750) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C2039: 'AutoDeleteC
riticalSection': Ist kein Element von 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\src\mfc\atlbase.h(1043): Siehe Deklaration von
 'ATL::CComMultiThreadModel'
        e:\microsoft platform sdk\include\atl\atlcom.h(3212): Siehe Verweis auf
die Instanziierung der gerade kompilierten Klassen-template "ATL::CComObjectRoot
Ex<ThreadModel>".
        with
        [
            ThreadModel=ATL::CComGlobalsThreadModel
        ]
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner '_AutoDelCritSec'
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2497) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'm_critsec'
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(2524) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlcom.h(3495) : error C3861: "_ATL_VALIDA
TE_OUT_POINTER": Bezeichner wurde nicht gefunden.
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C2146: Syntaxfehler
: Fehlendes ';' vor Bezeichner 'thunk'
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlwin.h(1498) : error C4430: Fehlender Ty
pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
unterstützt.
e:\microsoft platform sdk\include\atl\atlwin.h(1502) : error C2065: 'thunk': nic
htdeklarierter Bezeichner
e:\microsoft platform sdk\include\atl\atlwin.h(1502) : error C2228: Links von ".
Init" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
Code wird generiert...
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"E:\Microsoft Platform SDK\bin\nmake.exe"' : return
code '0x2'
Stop.
```
Ich gehe davon aus, dass es sich eigentlich nur wieder um ein ähnliches Problem wie bei unicode handeln kann (noch irgendeine tolle default-Einstellung, die ich ausschalten muss?)

thx
Martin


----------



## deepthroat (14. Juli 2006)

mah hat gesagt.:
			
		

> ```
> pspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht
> unterstützt.
> ```


Ohne den Code zu sehen kann man darüber nicht viel sagen. Ist das denn auch wirklich der Beginn der Fehlermeldungen. Das sieht fast so aus als wären das schon Folgefehler wo für den Compiler nichts mehr zu retten ist.

Eigentlich wäre es allerdings am besten wenn du überhaupt mal erzählst was genau du gemacht hast und was sonst noch wichtig sein könnte. Welche Datei hast du wo runtergeladen, was hast du damit gemacht? Welchen Compiler/IDE benutzt du? Welche Projektdatei hast du geöffnet? Hast du versucht dich an irgendeine Anleitung zu halten, an welche? Was hast du eingestellt/verändert? Was hat qtwin damit zu tun?



			
				mah hat gesagt.:
			
		

> [\code]


Du mußt einen normalen Schrägstrich benutzen um die Tags im Forum zu schliessen (so wie bei HTML). Du kannst deinen Beitrag aber noch nachträglich editieren.

Gruß


----------



## mÄh (17. Juli 2006)

*Compilerfehler C2491*



			
				mah hat gesagt.:
			
		

> I use MS SDK with MS Visual C++ 2005 Express Edition.
> (I have qt-win-opensource-src-4.1.1 installed so that I can compile by
> typing qmake, nmake as there is a corresponding .pro-file for xerces)
> mh



So. Ich habe jetzt noch mal ein bisschen was in der pro-Datei geändert (und 
dabei herausgefunden, dass die Reihenfolge der Include-Pfade nicht egal 
ist..).

Nochmal zur Übersicht:
Ich möchte xercesc.lib erstellen, indem ich aus der
 pro-Datei


```
######################################################################
# Automatically generated by qmake (2.00a) Do 13. Jul 15:58:33 2006
######################################################################

TEMPLATE = vclib
TARGET += 
CONFIG += release \
          warn_off \
          staticlib 
DEPENDPATH += . \
              com \
              dom \
blablabla..

INCLUDEPATH += ."E:\Microsoft Platform SDK\src\mfc" \ 
  "E:\Microsoft Platform SDK\Include\atl" 
                
DEFINES -= UNICODE 

HEADERS += com/BindStatusCallback.h \
           com/IXMLDOMCharacterDataImpl.h \
           com/IXMLDOMNodeImpl.h \
usw....
SOURCES += com/BindStatusCallback.cpp \
           com/StdAfx.cpp \
  usw.....
```

mittels "qmake" ein Makefile erzeuge, um daraus mittels "nmake"  besagte lib 
zu erstellen.
 "nmake" der Makedatei (die mit qmake aus obiger pro-Datei erstellt wurde) 
liefert momentan genau eine Sorte Fehler, aber den mehrmals.
nämlich z.B.


```
e:\xerces-c-src_2_7_0\src\xercesc\framework\xmlattdef.cpp(80) : error C2491: 'xe
rcesc_2_7::XMLAttDef::fgInvalidAttrId': Definition von Statisches Datenmember fü
r dllimport nicht zulässig
```

google sagt dazu nur:

http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vccore/html/C2491.asp

und

http://support.microsoft.com/default.aspx?scid=kb;de;815647

Wichtig: ich will jetzt nicht per Hand durch zig verschiedene Dateien gehen von \xerces-c-src_2_7_0\src\xercesc\framework und da wild irgendwas ändern.
Es muss irgendwas an der .pro-Datein von oben geändert werden.
any ideas?

Besten Dank!
Martin


----------

