С++: Получение кода ошибки c3859 при компиляции в сочетании С++/CLI и С++

После того, как я сделал, как предложил Ханс Пассант в С++: Получение "ошибка C2065: 'pst': uneclared identifier" используя pstsdk? (который работает), мой код теперь выглядит следующим образом:

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

  • Щелкните правой кнопкой мыши ваш проект на С++ в обозревателе решений; выберите "Свойства".
  • В диалоговом окне "Свойства" разверните "Свойства конфигурации" > "C/С++" > "Командная строка"
  • В дополнительных параметрах добавьте /Zm120

Повторите это для Debug и Release и любых других конфигураций, которые у вас есть.

Для получения дополнительной информации о том, что делает эта опция командной строки (и что это означает ее изменение), см. документацию/Zm.