VC++ 2008 Kompilieren
-
**Anderes Projekt:
Fehlermeldungen:**
1>(43) : error C2664: 'FtpPutFileW': Konvertierung des Parameters 2 von 'const char [12]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>(45) : error C2664: 'FtpGetFileW': Konvertierung des Parameters 2 von 'const char [14]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>(64) : error C2664: 'lstrcpyW': Konvertierung des Parameters 2 von 'const char [8]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>(66) : error C2664: 'lstrcatW': Konvertierung des Parameters 2 von 'const char [8]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>(68) : error C2664: 'GetEnvironmentVariableW': Konvertierung des Parameters 1 von 'const char [8]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>(69) : error C3861: "ShellExecute": Bezeichner wurde nicht gefunden.Er sucht wohl nach Abhängigkeiten ("kompilierte Bibliotheken" für den Linker). Diese hab ich auch eingefügt. Unter Projekt/Eigenschaften (ALT+F7)
Muss ich die Endung ".lib" benutzen? (Hab auch beide varianten probiert. (Muss man die ".lib"'s sonst mit Kommata trennen?) trotzdem kommen diese Fehler. Verlinke ich falsch?Für jede Hilfe dankbar!
-
Das sind Fehler des Compilers, nicht des Linkers. Du hast Unicode in deinem Projekt eingestellt, willst es aber gar nicht verwenden (vermute ich mal). Stell mal von Uncode auf MBCS um (unter Allgemein => Zeichensatz), dann flutscht es wieder. Die Alternative ist, konsequent mit Unicode zu programmieren. Da musst du z.B. bei String-Literalen immer ein "L" voranstellen. Also z.B.
L"meinString"
-
_matze schrieb:
Das sind Fehler des Compilers, nicht des Linkers. Du hast Unicode in deinem Projekt eingestellt, willst es aber gar nicht verwenden (vermute ich mal). Stell mal von Uncode auf MBCS um (unter Allgemein => Zeichensatz), dann flutscht es wieder. Die Alternative ist, konsequent mit Unicode zu programmieren. Da musst du z.B. bei String-Literalen immer ein "L" voranstellen. Also z.B.
L"meinString"
Ich will ja nicht unbeholfen oder so wirken, aber ich finde
"Allgemein => Zeichensatz"
nicht.
Bei mir steht oben "Datei", "Bearbeiten", "Ansicht", "Projekt", "Erstellen", "Debuggen", "Extras", "Fenster" und "Hilfe".
-
Nee nee, ich meine in den Projekteinstellungen. Dazu gehst du in deinem Projektmappenexplorer (üblicherweise links, glaube ich, das Ding wo du deine cpp- und h-Dateien siehst
) auf dein Projekt, klickst rechts und gehst auf Eigenschaften. Wie gesagt, stelle es erstmal von Unicode auf MBCS (multibyte character set) um und beschäftige dich irgendwann später mal mit dem Thema.
P.S.: Ein paar Stichwörter für die spätere Recherche wären z.B. auch TCHAR und das _T() Makro.
-
_matze schrieb:
Nee nee, ich meine in den Projekteinstellungen. Dazu gehst du in deinem Projektmappenexplorer (üblicherweise links, glaube ich, das Ding wo du deine cpp- und h-Dateien siehst
) auf dein Projekt, klickst rechts und gehst auf Eigenschaften. Wie gesagt, stelle es erstmal von Unicode auf MBCS (multibyte character set) um und beschäftige dich irgendwann später mal mit dem Thema.
P.S.: Ein paar Stichwörter für die spätere Recherche wären z.B. auch TCHAR und das _T() Makro.
intermediate.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
Hab alles hinbekommen, jetzt nur noch dieser Fehler. Was tun?
-
Hm, Projekt mal bereinigt und neu erstellt?
EDIT: Und zeig mal, wie dein ganzer Code mittlerweile aussieht. Wäre recht interessant. Hast du z.B. "#include stdafx;" noch im Code? Das muss natürlich weg, wenn du vorkompilierte Header abgestellt hast.
-
_matze schrieb:
Hm, Projekt mal bereinigt und neu erstellt?
EDIT: Und zeig mal, wie dein ganzer Code mittlerweile aussieht. Wäre recht interessant. Hast du z.B. "#include stdafx;" noch im Code? Das muss natürlich weg, wenn du vorkompilierte Header abgestellt hast.
Ja, das mache ich eigentlich immer.
#include <iostream> #include <conio.h> using namespace std; int main() { cout << "C++" << endl; getch(); return 0; }
Er findet die auszuführende .exe nicht. Also erstellt er sie nicht...?
-
Hi,
ich hab da mal ne Frage.Wie kann ich in Visual C++ 2008 Express Edition den Compiler so einstellen, dass wenn ich zum Beispiel ein WINAPI Projekt bei mie compiliere, die exe Datei auch andere ausführen können.
Zur Information:
Ich habe Service Pack 3 und möchte zum Beispiel, dass es auch jemand starten kann der beispielsweise Service Pack 2 hat oder auch Vista installiert hat.Danke schonmla im voraus!
MfG
-
Runtime mitliefern oder: http://blog.kalmbach-software.de/de/2008/03/05/wie-man-statisch-gegen-die-c-runtime-crt-linkt/
-
Thx für die Antwort.
Werde ich gleich mal ausprobieren.
-
Bzgl. Windows-Versionen musst du einfach auf die Doku achten. Da stehen manchmal Hinweise, ob z.B. eine Funktion erst ab Win2000 verfügbar ist o.ä.
-
_matze schrieb:
Bzgl. Windows-Versionen musst du einfach auf die Doku achten. Da stehen manchmal Hinweise, ob z.B. eine Funktion erst ab Win2000 verfügbar ist o.ä.
Und ähm... Habt Ihr auch eine Lösung für mich?
-
Also wenn du ein ganz neues Projekt erstellst, deinen zuletzt geposteten Code einfügst, Unicode und vorkompilierte Header abstellst, und sonst nix veränderst, sollte es wohl klappen. Kannst du das mal probieren?
-
_matze schrieb:
Also wenn du ein ganz neues Projekt erstellst, deinen zuletzt geposteten Code einfügst, Unicode und vorkompilierte Header abstellst, und sonst nix veränderst, sollte es wohl klappen. Kannst du das mal probieren?
Negativ, dann kommt noch diese Fehlermeldung:
intermediate.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
Was soll nun wieder das mit dem "Manifest" bedeuten?(Vielleicht sollte ich bei meinem altbewährten Code::Blocks bleiben....
)
-
Ist das vielleicht die Lösung (ersten beiden Posts)?
-
_matze schrieb:
Ist das vielleicht die Lösung (ersten beiden Posts)?
Das war des Rätsels Lösung! Bedanke mich nochmal