আমি সি ++ 17 বৈশিষ্ট্য ব্যবহার করতে চাই।
মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিওতে আমি সি ++ 14 থেকে সি ++ 17 তে সংকলন কীভাবে স্যুইচ করতে পারি?
বা এটি ভিএসের প্রকাশ সংস্করণে পাওয়া যায় না?
আমি সি ++ 17 বৈশিষ্ট্য ব্যবহার করতে চাই।
মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিওতে আমি সি ++ 14 থেকে সি ++ 17 তে সংকলন কীভাবে স্যুইচ করতে পারি?
বা এটি ভিএসের প্রকাশ সংস্করণে পাওয়া যায় না?
উত্তর:
এখন একটি ড্রপ ডাউন রয়েছে (কমপক্ষে ভিএস 2017.3.5 থেকে) যেখানে আপনি নির্দিষ্টভাবে সি ++ 17 নির্বাচন করতে পারেন select উপলভ্য বিকল্পগুলি হ'ল (প্রকল্পের অধীনে> সম্পত্তি> সি / সি ++> ভাষা> সি ++ ভাষার মান)
/std:c++14
/std:c++17
/std:c++latest
(আমি বাজি ধরলাম, একবার সি ++ ২০ বের হয়ে গেলে এবং ভিজ্যুয়াল স্টুডিওর দ্বারা আরও সম্পূর্ণরূপে এটি সমর্থিত হবে /std:c++20
)
-std:c++14
, -std:c++17
এবং -std:c++latest
এছাড়াও কাজ করে, যেমন যখন আপনি নিজে কম্পাইলার অপশন (VS2017 সাথে পরীক্ষিত) প্রবেশ করতে পছন্দ করেন।
-
পরিবর্তে নির্দিষ্টভাবে বলতে চান /std:
?
gcc
বা আসার সময় আমি সুবিধাটি দেখতে পাচ্ছি clang
। তারপরে এটি -
কম অনুপ্রবেশকারী (তবে সিনট্যাক্সটি এখনও কিছুটা আলাদা ( :
পরিবর্তে =
))।
এমএস বিল্ড (ভিজ্যুয়াল স্টুডিও প্রকল্প / সমাধান * .vcproj / *। স্লেন ) :
প্রকল্প সেটিংসে অতিরিক্ত বিকল্পগুলিতে যুক্ত করুন: /std:c++latest
সর্বশেষ বৈশিষ্ট্যগুলি সক্ষম করতে - বর্তমানে ভিএস2017 হিসাবে সি ++ 17, ভিএস2015 আপডেট 3।
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]
এখন। এই পতাকাগুলি প্রকল্পের সম্পত্তি পৃষ্ঠাগুলির মাধ্যমে সেট করা যেতে পারে:
এই সংকলক বিকল্পটি ভিজ্যুয়াল স্টুডিও বিকাশের পরিবেশে সেট করতে
- প্রকল্পের সম্পত্তি পৃষ্ঠা ডায়ালগ বাক্সটি খুলুন। বিশদের জন্য, প্রকল্পের বৈশিষ্ট্যগুলির সাথে কাজ করা দেখুন।
- কনফিগারেশন বৈশিষ্ট্য, সি / সি ++, ভাষা নির্বাচন করুন।
- সি ++ ভাষা স্ট্যান্ডার্ডে, ড্রপডাউন নিয়ন্ত্রণ থেকে সমর্থন করার জন্য ভাষা মান চয়ন করুন, তারপরে আপনার পরিবর্তনগুলি সংরক্ষণ করতে ঠিক আছে বা প্রয়োগ করুন।
সিএমকে :
ভিজ্যুয়াল স্টুডিও 2017 (15.7+) সিএমকে প্রকল্পগুলি সমর্থন করে। সিএমকে বিভিন্ন উপায়ে আধুনিক সি ++ বৈশিষ্ট্য সক্ষম করে তোলে। সর্বাধিক প্রাথমিক বিকল্পটি CMakeLists.txt এ একটি টার্গেটের সম্পত্তি সেট করে একটি আধুনিক সি ++ স্ট্যান্ডার্ড সক্ষম করা :
add_library (${PROJECT_NAME})
set_property (TARGET ${PROJECT_NAME}
PROPERTY
# 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
)
ভিজ্যুয়াল স্টুডিও 2015 আপডেট 3 আপনি যে সি ++ 17 বৈশিষ্ট্যটি সন্ধান করছেন তা সমর্থন করে না ( emplace_back()
একটি রেফারেন্স ফেরত)।
সি ++ 11/14/17 বৈশিষ্ট্যের জন্য সমর্থন (আধুনিক সি ++)
সি ++ 11/14/17 ভিএস 2015 আরটিএম এর বৈশিষ্ট্যগুলি
ভিএস 2015 আপডেট 2 এর এসটিএল সি ++ 17-এতদূর পর্যন্ত ফিচার সম্পূর্ণ
যদি বিদ্যমান ভিজ্যুয়াল স্টুডিও 2015 সমাধানটি ভিজ্যুয়াল স্টুডিও 2017 এ নিয়ে আসে এবং আপনি এটি সি ++ 17 নেটিভ সংকলক দিয়ে তৈরি করতে চান তবে আপনাকে প্রথমে সমাধান / প্রকল্পগুলি v141 এ পুনরায় চালু করতে হবে, তারপরে ড্রপডাউন উপরে বর্ণিত হিসাবে প্রদর্শিত হবে (কনফিগারেশন বৈশিষ্ট্য -> সি / সি ++ -> ভাষা -> ভাষার মান)
ভিজ্যুয়াল স্টুডিও 2019 সংস্করণ:
ড্রপ ডাউন মেনুতে সরানো হয়েছে:
c++11
এবংc++14
?