C ++: получение кода ошибки c3859 при компиляции в смеси C ++ / CLI и C ++ - PullRequest
11 голосов
/ 04 января 2011

После того, как я сделал, как это было предложено Хансом Пассантом в C ++: Получение «ошибки C2065:« pst »: необъявленный идентификатор» при использовании 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 Ответ

39 голосов
/ 04 января 2011
  1. Щелкните правой кнопкой мыши проект C ++ в обозревателе решений;выберите Свойства.
  2. В диалоговом окне «Свойства» разверните Свойства конфигурации> C / C ++> Командная строка
  3. В разделе «Дополнительные параметры» добавьте /Zm120

Повторите это дляОтладка и выпуск и любые другие имеющиеся у вас конфигурации.

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

...