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

Wil*_*ler 11 c++ unmanaged c++-cli marshalling

按照C++中 Hans Passant的建议完成后 :在使用pstsdk时获取"错误C2065:'pst':未声明的标识符"?(工作),我的代码现在看起来像这样:

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

我现在得到以下错误:

错误C3859:超出PCH的虚拟内存范围; 请使用'-Zm111'或更高版本的命令行选项重新编译

错误C1076:编译器限制:达到内部堆限制; 使用/ Zm指定更高的限制

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

Bra*_*ger 39

  1. 在解决方案资源管理器中右键单击您的C++项目; 选择属性.
  2. 在Properties对话框中,展开Configuration Properties> C/C++> Command Line
  3. 在其他选项中,添加 /Zm120

对Debug和Release以及您拥有的任何其他配置重复此操作.

有关此命令行选项的作用(以及更改含义)的更多信息,请参阅/ Zm文档.

  • 这根本不适用于数百人.我们已经设置为最大值.并且这个错误是否会在重建时出现完全随机. (2认同)