2011-01-04 27 views
11

Sau khi tôi đã làm theo đề nghị của Hans passant trong C++: Getting the "error C2065: 'pst' : undeclared identifier" while using pstsdk? (mà hoạt động), mã của tôi bây giờ trông như thế này:C++: Lấy mã lỗi c3859 khi biên dịch trong một kết hợp của C++/CLI và C++

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

Và bây giờ tôi nhận được các lỗi sau:

lỗi C3859: phạm vi bộ nhớ ảo cho PCH vượt quá; vui lòng biên dịch lại với tùy chọn dòng lệnh '-Zm111' hoặc lớn hơn

lỗi C1076: giới hạn trình biên dịch: giới hạn heap nội bộ đạt được; sử dụng/Zm để chỉ định giới hạn cao hơn

Tôi chắc chắn không mong đợi điều này xảy ra và tôi cũng không biết cách giải quyết chúng.

+0

Các lỗi cho bạn biết cách giải quyết chúng. –

+1

Điều này giúp ích rất nhiều! Cảm ơn! Ngoài ra, mặc dù lỗi nói tất cả, có vẻ như có một cái gì đó mất tích để đi vào làm thế nào để giải quyết chúng, vì tôi không biên dịch tại dòng lệnh ,, nhưng bằng cách sử dụng VS2010. –

+1

Loại bỏ thẻ "Managed C++" - quản lý C++ đã chết - nếu bạn đang sử dụng C++/CLI, bạn đang sử dụng cái được thay thế "Managed C++". –

Trả lời

39
  1. Nhấp chuột phải vào dự án C++ của bạn trong Solution Explorer; chọn Thuộc tính.
  2. Trong hộp thoại Properties, mở rộng Configuration Properties> C/C++> Command Line
  3. Trong Tùy chọn bổ sung, thêm /Zm120

Lặp lại điều này cho Debug và Release và bất kỳ cấu hình khác mà bạn có.

Để biết thêm thông tin về tùy chọn dòng lệnh này (và ý nghĩa của việc thay đổi), xem the /Zm documentation.

+0

Điều này biên dịch đúng, cộng với bây giờ tôi hiểu những gì '/ Zm' tùy chọn chuyển đổi, giúp tôi tìm hiểu đầy đủ hơn. Cảm ơn! =) (+1 và câu trả lời được chấp nhận) –

+1

Chỉ cần một mẹo: bạn có thể chọn tất cả các dự án và thêm cùng một trang thuộc tính cho chúng trong một bước. Trang tính cũng sẽ được thêm vào gỡ lỗi và phát hành các bản dựng. – Mene

+1

điều này chỉ đơn giản là không làm việc cho hàng trăm người. Chúng tôi đã thiết lập để tối đa .. Và nó hoàn toàn ngẫu nhiên cho dù lỗi này đi lên trên một xây dựng lại tất cả. – Dan

Các vấn đề liên quan