Cách khắc phục lỗi D8016: Các tùy chọn dòng lệnh /clr và &/EHs không tương thích.

lập trình


Chào mọi người ,

Tôi muốn truy cập lớp C#.net trong dự án C++ của mình.
Để làm điều này, tôi đã thay đổi cài đặt thuộc tính dự án thành
cài đặt thuộc tính dự án->gernaral->hỗ trợ thời gian chạy ngôn ngữ chung cho hỗ trợ ngôn ngữ chung (clr)
Sau khi thiết lập thuộc tính này, tôi gặp lỗi sau:

Lỗi 2 Lỗi dòng lệnh D8016: /clr và &/EHs tùy chọn dòng lệnh không tương thích cl

Ai có thể giúp tôi?
Cảm ơn trước……

Trân trọng,
RJ

Giải pháp 2

Từ MSDN: /clr ngụ ý /EHa và bạn không thể chỉ định bất kỳ tùy chọn trình biên dịch /EH nào khác với /clr.

Vì vậy, hãy thử thay đổi tùy chọn này trong thuộc tính dự án của bạn: trong C/C++, Tạo mã, thay đổi “Bật ngoại lệ C++” thành giá trị thích hợp.

Nếu nó vẫn không hoạt động, hãy xem xét việc tạo một dự án C++/CLI mới và thêm các tệp nguồn hiện có của bạn vào dự án mới này.

Giải pháp 1

Liên kết này có thể cung cấp cho bạn một số ý tưởng http://forums.devx.com/showthread.php?t=93941[^]

Công tắc /EH báo cho trình biên dịch của bạn kích hoạt cơ chế xử lý ngoại lệ loại C++.
Bạn có thể thử với /EHs hoặc /EHc hoặc /EHsc

Giải pháp 4

Chúng tôi đã thử thay đổi các thuộc tính dự án bên dưới cho dự án và nó đã hoạt động:
1. Đặt thuộc tính Cấu hình -> C/C++ -> Tạo mã -> Bật ngoại lệ C++

Yes with SEH Exceptions (/EHa)

2.Đặt thuộc tính cấu hình -> C/C++ -> Chung -> Hỗ trợ thời gian chạy ngôn ngữ chung (/clr)

3. Đặt thuộc tính Cấu hình -> Nâng cao -> Hỗ trợ thời gian chạy ngôn ngữ chung (/clr)

コメント

タイトルとURLをコピーしました