C ++:在混合使用C ++ / CLI和C ++时获取c3859错误代码

时间:2011-01-04 15:37:19

标签: c++ c++-cli marshalling unmanaged

按照C++: Getting the "error C2065: 'pst' : undeclared identifier" while using pstsdk?中的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指定更高的限制

我绝对不希望这些发生,我也不知道如何解决它们。

1 个答案:

答案 0 :(得分:39)

  1. 在解决方案资源管理器中右键单击您的C ++项目;选择“属性”。
  2. 在“属性”对话框中,展开“配置属性”&gt; C / C ++&gt;命令行
  3. 在其他选项中,添加/Zm120
  4. 对Debug和Release以及您拥有的任何其他配置重复此操作。

    有关此命令行选项的作用(以及更改含义)的详细信息,请参阅the /Zm documentation