C ++: Conseguir el “Error C2065: 'pst': identificador no declarado”, mientras que el uso de pstsdk?

StackOverflow https://stackoverflow.com/questions/4594640

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?

¿Fue útil?

Solución

Se declara en un espacio de nombres, como debe ser. Solución:

 pstsdk::pst myfile(fileNameTextBox->Text);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top