【发布时间】:2011-06-03 10:31:12
【问题描述】:
遵循在这个问题中使用 pstsdk 的建议:
Processing Microsoft Office Outlook 2003/2007 email messages…
并按照此处的说明进行操作:
PST File Format SDK - PST Layer Overview - Getting Started
还有根据这个视频:
In PST SDK Presentation, Terry Mahaffey, discusses the PST SDK file format SDK.
(转发到 28:32)
他们都同意我只需要在正确添加 Boost 和 pstsdk 的包含路径后包含 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 指定更高的限制
我绝对没想到会发生这些。如何解决?
【问题讨论】:
标签: c++ visual-studio-2010 unmanaged managed-c++ pst