c++ - কীভাবে ভিজুয়াল স্টুডিওতে সি++ 17 সংকলন সক্ষম করবেন?




visual-studio compilation (3)

আমি সি ++ 17 বৈশিষ্ট্য ব্যবহার করতে চাই।

মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিওতে আমি সি ++ 14 থেকে সি ++ 17 তে সংকলন কীভাবে স্যুইচ করতে পারি?

বা এটি ভিএস-এর মুক্ত সংস্করণে পাওয়া যায় না?


এখন একটি ড্রপ ডাউন রয়েছে (কমপক্ষে ভিএস 2017.3.5 থেকে) যেখানে আপনি নির্দিষ্টভাবে সি ++ 17 নির্বাচন করতে পারেন select উপলভ্য বিকল্পগুলি হ'ল (প্রকল্পের অধীনে> সম্পত্তি> সি / সি ++> ভাষা> সি ++ ভাষার মান)

  • আইএসও সি ++ 14 স্ট্যান্ডার্ড। এমএসভিসি কমান্ড লাইন বিকল্প: /std:c++14
  • আইএসও সি ++ 17 স্ট্যান্ডার্ড। এমএসভিসি কমান্ড লাইন বিকল্প: /std:c++17
  • সর্বশেষ খসড়া মানক। এমএসভিসি কমান্ড লাইন বিকল্প: /std:c++latest

ভিজ্যুয়াল স্টুডিও 2015 আপডেট 3 আপনি যে সি ++ 17 বৈশিষ্ট্যটি সন্ধান করছেন ( emplace_back() একটি রেফারেন্স ফেরত emplace_back() সমর্থন করে না।

সি ++ 11/14/17 বৈশিষ্ট্যের জন্য সমর্থন (আধুনিক সি ++)

সি ++ 11/14/17 ভিএস 2015 আরটিএম এর বৈশিষ্ট্যগুলি

ভিএস 2015 আপডেট 2 এর এসটিএল সি ++ 17-এতদূর পর্যন্ত ফিচার সম্পূর্ণ

ভিজ্যুয়াল স্টুডিও 2015 আপডেট 3

ভিএস 2015 এসটিএল ফিক্সগুলি আপডেট 3


এমএস বিল্ড (ভিজ্যুয়াল স্টুডিও প্রকল্প / সমাধান * .vcproj / *। স্লেন ) :

প্রকল্প সেটিংসে অতিরিক্ত বিকল্পগুলিতে যুক্ত করুন: /std:c++latest সর্বশেষ বৈশিষ্ট্যগুলি সক্ষম করতে সর্বশেষ - বর্তমানে ভিএস2017, ভিএস2015 আপডেট 3 হিসাবে সি ++ 17।

https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler/

/permissive- অ-মানক সি ++ এক্সটেনশনগুলি অক্ষম করবে এবং ভিএস2017 এ স্ট্যান্ডার্ড কনফারেন্স সক্ষম করবে।

https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/

সম্পাদনা (অক্টোবর 2018): সর্বশেষতম ভিএস2017 বৈশিষ্ট্যগুলি এখানে নথিভুক্ত করা হয়েছে:

https://docs.microsoft.com/en-gb/cpp/build/reference/std-specify-language-standard-version

ভিএস2017 সমর্থন করে: /std:[c++14|c++17|c++latest] এখন। এই পতাকাগুলি প্রকল্পের সম্পত্তি পৃষ্ঠাগুলির মাধ্যমে সেট করা যেতে পারে:

ভিজ্যুয়াল স্টুডিও বিকাশের পরিবেশে এই সংকলক বিকল্পটি সেট করতে

  1. প্রকল্পের সম্পত্তি পৃষ্ঠা ডায়ালগ বাক্সটি খুলুন। বিশদের জন্য, প্রকল্পের বৈশিষ্ট্যগুলির সাথে কাজ করা দেখুন।
  2. কনফিগারেশন বৈশিষ্ট্য, সি / সি ++, ভাষা নির্বাচন করুন।
  3. সি ++ ভাষা স্ট্যান্ডার্ডে, ড্রপডাউন নিয়ন্ত্রণ থেকে সমর্থন করার জন্য ভাষা মান চয়ন করুন, তারপরে আপনার পরিবর্তনগুলি সংরক্ষণ করতে ঠিক আছে বা প্রয়োগ করুন।

সিএমকে :

ভিজ্যুয়াল স্টুডিও 2017 (15.7+) সিএমকে প্রকল্পগুলি সমর্থন করে। সিএমকে বিভিন্ন উপায়ে আধুনিক সি ++ বৈশিষ্ট্য সক্ষম করে তোলে। সর্বাধিক প্রাথমিক বিকল্পটি CMakeLists.txt এ একটি টার্গেটের সম্পত্তি সেট করে একটি আধুনিক সি ++ স্ট্যান্ডার্ড সক্ষম করা:

add_library (${PROJECT_NAME})
set_property (TARGET ${PROJECT_NAME}
  PUBLIC
    # Enable C++17 standard compliance
    CXX_STANDARD 17
)

একটি ইন্টারফেস লাইব্রেরির ক্ষেত্রে:

add_library (${PROJECT_NAME} INTERFACE)
target_compile_features (${PROJECT_NAME}
  INTERFACE
    # Enable C++17 standard compliance
    cxx_std_17
)





c++17