0

按照在这个问题中使用pstsdk的建议:
处理 Microsoft Office Outlook 2003/2007 电子邮件...</a>

并按照此处的说明进行操作:
PST 文件格式 SDK - PST 层概述 - 入门

并且还根据此视频:
在 PST SDK 演示中,Terry Mahaffey 讨论了 PST SDK 文件格式 SDK。
(转发至28:32)

他们都同意我只需要在正确添加Boostpstsdk的包含路径后包含 PST 头文件,然后编写以下代码即可开始使用我的 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

在按照 Hans Passant 的建议完成之后(有效),我的代码现在看起来像这样:

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 指定更高的限制

我绝对没想到会发生这些。如何解决它们?

4

1 回答 1

2

它应该在命名空间中声明。使固定:

 pstsdk::pst myfile(fileNameTextBox->Text);
于 2011-01-04T14:44:46.087 回答