2017-06-07 2 views
2

Ich wollte ein neues Projekt mit dem gleichen Code wie die Kinect V2 Standard-Code-Reihe erstellen.
Ich habe ein neues Projekt in Visual Studio erstellt und die Kopie der Beispieldateien des anderen Projekts in einem neuen Verzeichnis hinzugefügt und es meinem Projekt hinzugefügt.
Auch ich habe alle Header etc.
Dann versuchen Sie es zu kompilieren und es eine Menge Fehler machen! aber es funktioniert gut in dem Beispielprojekt.
die CPP-Dateien und die Header sind alle gleich.
Also was kann falsch sein?
Ich habe die Include-Verzeichnisse in VC++ - Verzeichnisse auf $ (KINECTSDK20_DIR) \ inc; $ (IncludePath) beschränkt und einige Fehler sind weg, aber es gibt immer noch Fehler!
Dies sind die Fehler:
Vergleichen der Unterschied von zwei C++ - Projekten in VS

HCURSOR LoadCursorW(HINSTANCE,LPCWSTR) 
HICON LoadIconW(HINSTANCE,LPCWSTR) 
'=': cannot convert from 'const wchar_t [25]' to 'LPCSTR' 
'ATOM RegisterClassW(const WNDCLASSW *)': cannot convert argument 1 from 'WNDCLASS *' to 'const WNDCLASSW *' 
'HWND CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM)': cannot convert argument 2 from 'LPSTR' to 'LPCWSTR' 
'HRESULT StringCchPrintfA(STRSAFE_LPSTR,std::size_t,STRSAFE_LPCSTR,...)': cannot convert argument 1 from 'WCHAR [64]' to 'STRSAFE_LPSTR' 
'BOOL SetDlgItemTextA(HWND,int,LPCSTR)': cannot convert argument 3 from 'WCHAR *' to 'LPCSTR' 

sorry für mein schlechtes Englisch grammer im Voraus!

+0

Ohne diese Fehler ist es unmöglich zu sagen, was vor sich geht. –

+0

Vergleichen Sie beide .vcxproj (und .props, falls vorhanden) mit einem Tool – Ceros

+0

@BartekBanachewicz Wie kann ich Ihnen das ganze Projekt zeigen? –

Antwort

0

Ihr Projekt hat mit Sicherheit die falsche Zeichensatzeinstellung. Sie können herausfinden, wie Sie es ändern können here.

Ein totes Werbegeschenk ist viele cannot convert 'WCHAR *' to 'LPCSTR' und ähnlich. WCHAR* ist LPWSTR. LPWSTR konvertiert zu LPCWSTR , aber nicht zu LPCSTR - dies bedeutet in der Regel, dass ein Breitzeichen-Literal an die Funktion übergeben wird, die in einer Narrow-Character-Version unter den aktuellen Projekteinstellungen aufgelöst wird.

Ein sorgfältig geschriebenes Projekt kann unter beiden Einstellungen kompiliert werden, aber meistens wird nur eines davon verwendet und muss daher vor dem Aufbau korrekt ausgewählt werden.


Sie können nicht konstante passieren, wo ein const erforderlich ist, aber man kann nicht der Zeichentyp verändern wies auf.