C ++: Erhalten Sie den „Fehler C2065: 'PST': nicht deklarierter Kennung“ während der Verwendung von PSTSDK?
-
15-10-2019 - |
Frage
Nach dem Vorschlag, mit dem zu arbeiten PSTSDK In dieser Frage:
Bearbeiten von Microsoft Office Outlook 2003/2007 E -Mail -Nachrichten…
Und folgen Sie den Anweisungen hier:
PST -Dateiformat SDK - PST -Schichtübersicht - Erste Schritte
Und auch nach diesem Video:
In der PST -SDK -Präsentation erörtert Terry Mahaffey das PST SDK -Dateiformat SDK.
(Weiterleiten Sie es auf 28:32)
Sie alle sind sich einig, dass ich nur die PST -Header -Datei einbeziehen muss Schub und PSTSDK, und um den folgenden Code zu schreiben, um mit meiner PST -Datei zu arbeiten:
#include "pst.h"
pst myfile(L"myfile.pst");
Jetzt verwende ich eine Mischung aus verwaltetem und nicht verwaltetem C ++. Daher versuche ich, diesen Code in meine Funktion zu stecken wie so:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pst myfile(fileNameTextBox->Text);
}
Und jedes Mal, wenn ich zusammenstelle, erhalte ich den C2065 -Fehlercode, der das besagt pst
ist nicht deklariert.
Irgendwelche Ahnung jemand?
Bearbeiten #1
Nachdem ich wie von Hans Passant (was funktioniert) getan habe, sieht mein Code jetzt so aus:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pstsdk::pst myfile(marshal_as<std::wstring>(fileNameTextBox->Text));
}
Und ich bekomme jetzt die folgenden Fehler:
Fehler C3859: Virtueller Speicherbereich für PCH überschritten; Bitte kompilieren Sie mit einer Befehlszeilenoption von '-Zm111' oder größer
Fehler C1076: Compiler -Grenze: interne Haufen Grenze erreicht; Verwenden Sie /ZM, um eine höhere Grenze anzugeben
Ich habe definitiv nicht erwartet, dass diese auftreten. Wie kann man sie lösen?
Lösung
Es wird in einem Namespace deklariert, wie es sollte. Fix:
pstsdk::pst myfile(fileNameTextBox->Text);