C ++: Получение «ошибки C2065:« pst »: необъявленный идентификатор» при использовании pstsdk? - PullRequest
0 голосов
/ 04 января 2011

Следуя предложению работать с pstsdk в этом вопросе:
Обработка сообщений электронной почты Microsoft Office Outlook 2003/2007…

И следуйте инструкциям здесь:
SDK формата файла PST - Обзор уровня PST - Начало работы

А также согласно этому видео:
В презентации PST SDK Терри Махаффи обсуждает формат файла SDK для PST SDK.
(Переслать на 28:32)

Они все согласны с тем, что мне нужно включить заголовочный файл PST только после того, как правильно добавлены пути включения для Boost и pstsdk , и написать следующий код, чтобы начать работать с моим pst файлом:

#include "pst.h"

pst myfile(L"myfile.pst");

Теперь я использую сочетание управляемого и неуправляемого C ++, поэтому я пытаюсь вставить этот код в свою функцию следующим образом:

private: 
    System::Void readPstFileButton_Click(System::Object^  sender, System::EventArgs^  e) {
        pst myfile(fileNameTextBox->Text);
    }

И каждый раз, когда я компилирую, я получаю код ошибки c2065, который говорит, что pst не объявлен.

Кто-нибудь знает что-нибудь?

РЕДАКТИРОВАТЬ # 1

После того, как я сделал, как предлагает Ханс Пассант (что работает), мой код теперь выглядит так:

private:
    System::Void readPstFileButton_Click(System::Object^  sender, System::EventArgs^  e) {
         pstsdk::pst myfile(marshal_as<std::wstring>(fileNameTextBox->Text));
    }

И теперь я получаю следующие ошибки:

ошибка C3859: превышен диапазон виртуальной памяти для PCH; пожалуйста, перекомпилируйте с параметром командной строки '-Zm111' или выше

ошибка C1076: предел компилятора: достигнут предел внутренней кучи; используйте / Zm для указания верхнего предела

Я определенно не ожидал, что это произойдет. Как их решить?

1 Ответ

2 голосов
/ 04 января 2011

Он объявлен в пространстве имен, как и должно быть.Исправить:

 pstsdk::pst myfile(fileNameTextBox->Text);
...