C ++: Conseguir el “Error C2065: 'pst': identificador no declarado”, mientras que el uso de pstsdk?
-
15-10-2019 - |
Pregunta
Siguiendo la sugerencia de trabajar con el pstsdk en esta pregunta:
Procesamiento de Microsoft Office Outlook los mensajes de correo electrónico ... 2003/2007
Y siguiendo las instrucciones aquí:
PST File Format SDK - PST Capa general - Introducción
Y también de acuerdo con este video:
En PST SDK Presentación, Terry Mahaffey, discute el PST formato de archivo SDK SDK.
(Forward a 28:32)
Todos coinciden en que sólo tengo que incluir el archivo de cabecera PST después de haber añadido correctamente la incluyen rutas de acceso para ambos Boost y pstsdk , y escribir el siguiente código a empezar a trabajar con mi pst:
#include "pst.h"
pst myfile(L"myfile.pst");
Ahora, estoy usando una mezcla de administrado y no administrado C ++, por lo tanto, estoy tratando de poner este código en mi función de este modo:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pst myfile(fileNameTextBox->Text);
}
Y cada vez que compilar, obtengo el código de error que dice que el C2065 pst
está declarado.
¿Alguna pista de alguien?
editar # 1
Después de que he hecho como se sugiere por Hans Passant (que funciona), mi código ahora se ve así:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pstsdk::pst myfile(marshal_as<std::wstring>(fileNameTextBox->Text));
}
Y ahora consigo los errores siguientes:
error C3859: rango de memoria virtual para PCH superado; Por favor, vuelva a compilar con la opción de línea de comandos de '-Zm111' o superior
error c1076: límite del compilador: límite montón interna alcanzó; uso / Zm para especificar un límite superior
Definitivamente no esperaba que éstos se produzcan. Cómo resolverlos?
Solución
Se declara en un espacio de nombres, como debe ser. Solución:
pstsdk::pst myfile(fileNameTextBox->Text);