Peringatan Pengompilasi (level 1) C5050
Kemungkinan lingkungan yang tidak kompatibel saat mengimpor modul 'module_name': masalah
Keterangan
Pengkompilasi meningkatkan C5050 setiap kali opsi baris perintah untuk modul tidak konsisten antara sisi pembuatan modul dan konsumsi modul.
Peringatan ini baru di Visual Studio 2017 versi 15.9. Ini hanya dihasilkan saat membuat atau mengkonsumsi modul, yang ditentukan oleh /experimental:module
opsi pengkompilasi.
Contoh
Dalam contoh berikut, ada dua sertifikat.
Di sisi konsumsi (main.cpp), opsi
/EHsc
tidak ditentukan.Versi C++ adalah
/std:c++17
di sisi pembuatan, dan/std:c++14
di sisi konsumsi.
cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14
Pengompilasi meningkatkan C5050 untuk kedua kasus ini:
warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".
Untuk mengatasi masalah ini, gunakan opsi baris perintah pengkompilasi yang sama untuk modul dan kode yang mengkonsumsi.