C ++: Ottenere il “Errore C2065: 'pst': identificatore non dichiarato” durante l'utilizzo di pstsdk?
-
15-10-2019 - |
Domanda
Seguendo il suggerimento di lavorare con il pstsdk in questa domanda:
lavorazione di Microsoft Office Outlook i messaggi di posta elettronica 2003/2007 ...
E seguendo le istruzioni qui:
PST File Format SDK - PST Strato Panoramica - Per iniziare
E anche in base a questo video:
In PST SDK Presentazione, Terry Mahaffey, discute il PST SDK formato di file SDK.
(Forward a 28:32)
Sono tutti d'accordo che devo solo includere il file di intestazione PST dopo aver correttamente aggiunto i percorsi di inclusione sia per Boost e pstsdk , e di scrivere il seguente codice iniziare a lavorare con il mio file PST:
#include "pst.h"
pst myfile(L"myfile.pst");
Ora, sto utilizzando un mix di C ++ gestiti e non gestiti, quindi sto cercando di inserire questo codice nella mia funzione in questo modo:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pst myfile(fileNameTextBox->Text);
}
E ogni volta di compilazione, ottengo il codice di errore C2065 che dice che il pst
è sommerso.
Qualsiasi indizio chiunque?
Modifica # 1
Dopo che ho fatto come suggerito da Hans Passant (che funziona), il mio codice ora assomiglia a questo:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pstsdk::pst myfile(marshal_as<std::wstring>(fileNameTextBox->Text));
}
E io ora ottenere i seguenti errori:
Errore C3859: intervallo di memoria virtuale per PCH superato; si prega di ricompilare con una riga di comando opzione '-Zm111' o superiore
Errore C1076: il limite di compilatore: limite mucchio interno raggiunto; uso / Zm per specificare un limite superiore
Io sicuramente non mi aspettavo questi a verificarsi. Come risolverli?
Soluzione
Si dichiara in uno spazio dei nomi, come si deve. Fix:
pstsdk::pst myfile(fileNameTextBox->Text);