ঝাঁকুনি 5.0 ইনস্টল করা এবং সি ++ 17 ব্যবহার করা


17

আমি একটি উবুন্টু 16.04 মেশিনে ক্ল্যাং 5.0 ইনস্টল করার জন্য 3 দিন ধরে চেষ্টা করছি। আমি বিভিন্ন গাইড চেষ্টা করেছি , কিন্তু কিছুই কাজ করছে বলে মনে হচ্ছে না। আমি যখন সহজভাবে এসভিএন থেকে সর্বশেষটি ধরতে চেষ্টা করি এবং বিল্ড / ইনস্টল ( এখানে বিস্তারিত হিসাবে ) একটি সাধারণ প্রোগ্রাম সংকলন করার চেষ্টা করি তখন:

> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>

আমি তখন নির্মাণের আগে -DGCC_INSTALL_PREFIXপতাকাটি স্থাপনের চেষ্টা করেছি cmake, তবে এটি আরও ভাল ত্রুটির দিকে পরিচালিত করে:

> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>

আমি যে পদক্ষেপগুলি অনুসরণ করছি তা হ'ল (উপরের গাইড থেকে):

> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...

কেউ কি আমার সাথে একটি নির্বোধের মতো আচরণ করতে পারেন এবং কীভাবে ঝাঁকুনি 5.0 ইনস্টল করবেন তা ধাপে ধাপে ব্যাখ্যা করতে পারেন? বা আমাকে এমন কোনও গাইডের দিকে নির্দেশ করুন যা আমার মতো বেসিক বোকাও অনুসরণ করতে পারে? আপনি যদি C ++ 17 এর জন্য কীভাবে libc ++ বানাবেন এবং ইনস্টল করবেন তা ব্যাখ্যা করতে পারলে আমি চির কৃতজ্ঞ থাকব।

আপডেট : মনে হচ্ছে আমি ঝাঁকুনি সঠিকভাবে ইনস্টল করছি না, কারণ এটি ক্লাংয়ের সাথে একটি ভার্বোস সংকলনের আউটপুট:

...
#include <...> search starts here:
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include

এবং এটি জি ++ এর আউটপুট:

#include <...> search starts here:
 /usr/include/c++/5
 /usr/include/x86_64-linux-gnu/c++/5
 /usr/include/c++/5/backward
 /usr/lib/gcc/x86_64-linux-gnu/5/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
...

এই dpkg -l libstdc++-5-dev | tail -1
আদেশটির

আপনি কি build-essentialইনস্টল করেছেন?
রাভেক্সিনা

@ রেভেক্সিনা:ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
স্টিভ ডি

@ রেভেক্সিনা: এবং হ্যাঁ, বিল্ড-অ্যাসোসিয়েশন ইনস্টল করা আছে।
স্টিভ ডি

উত্তর:


33

Llvm.org সংগ্রহস্থল থেকে ঝাঁকুনি -5 ইনস্টল করুন

প্রথমে আমাদের llvm.org সংগ্রহস্থলগুলিকে আমাদের উত্স তালিকায় যুক্ত করা উচিত, আমাদের যে রেখাটি যুক্ত করা উচিত তা হ'ল:

deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main

ন্যানোটি খুলুন এবং এই ফাইলটিতে উপরের লাইনটি যুক্ত করুন:

sudo nano /etc/apt/sources.list.d/llvm.list

সংগ্রহস্থল কী যুক্ত করুন, এটি aptডাউনলোডকৃত প্যাকেজগুলি যাচাই করতে সক্ষম করবে ।

 wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -

এর পরে, আপনার তালিকা আপডেট করুন:

sudo apt-get update

তারপরে ঝাঁকুনি -5 ইনস্টল করুন:

sudo apt-get install clang-5.0 lldb-5.0 lld-5.0

এটার কাজ করা উচিত.

আপনি যদি এই নতুন যুক্ত হওয়া সংগ্রহস্থল থেকে সমস্ত উপলব্ধ প্যাকেজগুলির তালিকা পেতে চান:

grep -i package: /var/lib/apt/lists/apt.llvm* | cut -f3 -d: | sort | uniq

এটি আপনাকে একটি তালিকা দেবে:

clang-5.0 
clang-5.0-doc 
clang-5.0-examples 
libclang-common-5.0-dev
...

তারপরে আপনি যা চান তা ইনস্টল করতে পারেন।


এটি আপনার সঙ্কলনের সমস্যাটিকে সহায়তা করতে পারে

উল্লিখিত শিরোলেখ ফাইলটি আপনার ত্রুটিতে উপস্থিত নেই: stdarg.hএটি libstdc++-5-devপ্যাকেজের একটি অংশ ।

আমি আমার মেশিনে এই প্যাকেজটি পেয়েছি, তাই যদি আমি চালাই:

aptitude why libstdc++-5-dev

আমি পাবো:

i   build-essential Depends g++ (>= 4:5.2)                            
i A g++             Depends g++-5 (>= 5.3.1-3~)                       
i A g++-5           Depends libstdc++-5-dev (= 5.4.0-6ubuntu1~16.04.4)

সুতরাং মনে হচ্ছে build-essentialপ্যাকেজটি ইনস্টল করার ফলে আপনার এই ত্রুটিটি সমাধান করা উচিত , কারণ আপনি কী করেছেন তা আমি নিশ্চিত নই।


আমি build-essentialইনস্টল করেছি। কিন্তু আমার জন্য আউটপুট aptitude why libstdc++-5-dev, পুলিশের হিসাবে একই ঠিক ব্যতীত কিছু নেই বিল্ড অপরিহার্য লাইন।
স্টিভ ডি

@SteveD আমি নিশ্চিত নই, কিন্তু হয়তো কারণ আপনার কাপড় অংশ সংগ্রহস্থল থেকে ইনস্টল করা এবং অন্যান্য অংশ নিজে ইনস্টল করা আছে, হয়তো সেখানে ইত্যাদি লাইব্রেরি সংস্করণে কিছু মেলেনি হয়
Ravexina

আমি মনে করি যে সমস্যাটি আমি মনে করি তা দিয়ে প্রশ্নবঙ্গকে আপডেট করেছি, সম্ভবত আপনি কীভাবে এটি ঠিক করতে জানেন?
স্টিভ ডি

@ স্টেভেড আউটপুটটি আমার চোখে এতটা সহায়ক নয়, হয়তো অন্য কেউ তাদের আরও সহায়ক বলে মনে করছেন find কেন আপনি এটি সংগ্রহস্থল থেকে ইনস্টল করবেন না? আমি মনে করি আপনার সমস্যাটি চলে যাওয়ার উচ্চ সম্ভাবনা রয়েছে ..
রাভেক্সিনা

আমার ঝাঁকুনি 5.0 দরকার যা সংগ্রহস্থলগুলিতে পাওয়া যায় না।
স্টিভ ডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.