জিসিসি সহ রাস্পবেরি পাই এর জন্য ক্রস-কম্পাইল প্রোগ্রাম কীভাবে?


8

আমি আমার প্রধান কম্পিউটারে ছোট ছোট সি এবং সি ++ প্রোগ্রামগুলি সংকলন করতে জিসিসি ব্যবহার করার শখ করি। তবে, আমার কাছে একটি রাস্পবেরি পাইও রয়েছে এবং 700০০-মেগাহার্টজ সিঙ্গল কোর কম্পিউটার হওয়ার কারণে প্রতিবার বাইনারি তৈরি করতে চাইলে আমি এতে আমার বিকাশ কাজ না করাই পছন্দ করব। কীভাবে (আমি জানি যে একটি উপায় আছে) আমি কীভাবে আমার এক্স 86 ল্যাপটপটি ব্যবহার করে রাস্পবেরি পাই এর জন্য আমার প্রোগ্রামটি ক্রস-সংকলন করব? এবং এমন কোনও উপায় আছে যে আমি পাইতে সি (++) প্রোগ্রামগুলি সংকলন করতে পারি তবে একটি x86 বাইনারি তৈরি করতে পারি? যদি এটির কোনও সহায়তা হয় তবে "এসইসি একটি ব্রডকম বিসিএম 2835 This এটির মধ্যে একটি এআরএম 1176 জেজেডএফএস রয়েছে, ভাসমান পয়েন্ট সহ ..." (সরকারী রাস্পবেরি পাই এফকিউ অনুসারে )।


রাস্পবেরি পিআই
এসইও রয়েছে

উত্তর:


4

aptসংগ্রহস্থলগুলিতে আশেপাশের পোকার সংমিশ্রণ এবং অত্যন্ত দুর্দান্ত বিল্ডিং এম্বেডেড লিনাক্স সিস্টেমগুলি (২ য় সংস্করণ, ২০০৮, ওরিলি) ব্যবহার করে আমি এটি পেয়েছি:

হাত-লিনাক্স-gnueabi-জিসিসি

এটি হ'ল কমান্ডের নাম এবং এটি অর্জনের জন্য আপনি যে প্যাকেজ ইনস্টল করেছেন। একবার gccডাকা হয়ে গেলে, এটি এআরএম আর্কিটেকচারের জন্য প্যাকেজ তৈরি করে (বা বিসিএম 2835 সহ অন্তত একটি উপসেট) কেবল ব্যতিক্রম ছাড়াই "ভ্যানিলা" হিসাবে কাজ করে। বিল্ডিং এম্বেডেড লিনাক্স সিস্টেমগুলি (pg 93-94) ব্যাখ্যা করে যে জিএনইউ সরঞ্জামগুলি ক্রস-সংকলন পদ্ধতিতে চাওয়ার জন্য ব্যবহৃত নামগুলি এই বিন্যাসটি অনুসরণ করে:

cpu 'র-কার্নেল-manufactuer-OS

-gccআগ উদাহরণ শেষে থাকবে উপাদান , specifing যার অংশ জন্য ব্যবহার করা binutilsআপনি ব্যবহার করতে চান। এটি অন্য জিএনইউ সরঞ্জামচেন উপাদান, যেমন ld(লিঙ্কার) বা as(এসেম্বারার) এর জন্য অদলবদল করা যেতে পারে । জন্য arm-linux-gnueabi-gcc, armস্থাপত্য হয়, linuxকার্নেলের হয় gnueabiঅপারেটিং সিস্টেম, এবং gccউপাদান। নির্মাতা কোথায়? স্পষ্টতই, প্রস্তুতকারকটিকে "অজানা" হিসাবে নির্দিষ্ট করা যেতে পারে, কারণ এটি খুব কমই কোনও পার্থক্য করে, বা পুরোপুরি ছেড়ে যায় (এতে এটি তৈরি করবে arm-linux-unknown-gnueabi-gcc)।


1

সরকারীভাবে নথিভুক্ত পদ্ধতি

https://www.raspberrypi.org/docamentation/linux/kernel/building.md ( গিটহাব )

git clone https://github.com/raspberrypi/tools
export PATH="$(pwd)/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:${PATH}"
printf '#include <stdio.h>\nint main() { puts("hello world"); }\n' > hello_world.c
printf '#include <iostream>\nint main() { std::cout << "hello world" << std::endl; }\n' > hello_world.cpp
arm-linux-gnueabihf-gcc -std=c99 -o hello_world_c hello_world.c
arm-linux-gnueabihf-g++ -std=c++11 -o hello_world_cpp hello_world.cpp

উবুন্টু 17.10 এ পরীক্ষিত, 5caa7046982f0539cf5380f94da04b31129ed521 এ সরঞ্জাম রেপো


0

আমি ১০০% তে নিশ্চিত নই, তবে, https://tandrepires.wordpress.com/2012/08/01/raspberry-pi-openelec-pvr-dvb-t/ ব্যবহার করে আপনি চেষ্টা করতে পারেন: 1) প্রয়োজনীয় গ্রন্থাগার:

sudo apt-get install g++ git nasm flex bison gawk gperf autoconf automake m4 cvs libtool \
byacc texinfo gettext zlib1g-dev libncurses5-dev git-core build-essential xsltproc libexpat1-dev zip \
autopoint xfonts-utils libxml-parser-perl libproc-processtable-perl default-jre

2) নীচের বিকল্পগুলির সাথে প্রকল্পটি সংকলন করুন, যেখানে এন আপনার x86 সিপিইউর কোরের সংখ্যা:

$ PROJECT=RPi ARCH=arm PVR=yes make release -j N

আমি আসা করি এটা সাহায্য করবে. `


আমি প্রচেষ্টার প্রশংসা করি, আমি সত্যিই তা করি। দুর্ভাগ্যবশত, এই টিউটোরিয়াল (এবং কোডের সংশ্লিষ্ট লাইন) ব্যবহার করার জন্য আছে makeএকটি প্রকল্প যে ব্যবহার করতে (সেট আপ করা হয় কম্পাইল করার "প্রকল্প = RPi ARCH দ্বারা = PVR হাত = হ্যাঁ করতে এন -J মুক্তি", কাপড় সামনে শুধু একটা হয় শেল ভেরিয়েবলের গুচ্ছ)। এখন, বাস্তবে make ব্যবহার জিসিসি কিন্তু কোডের লাইন ব্যবহার করার জন্য আমি উৎস পেতে এবং তারপর তার অধিকাংশই যে জিসিসি প্রয়োজনীয় আর্গুমেন্ট যোগ হবে কোডের বিভিন্ন অংশ অনুসন্ধানের জন্য মাধ্যমে সন্ধান হবে। চেষ্টা করার জন্য আপনাকে ধন্যবাদ!
চৌদ্দ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.