সুচিপত্র:

কমলা পিআই HowTo: উইন্ডোজের জন্য উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন: 14 টি ধাপ (ছবি সহ)
কমলা পিআই HowTo: উইন্ডোজের জন্য উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন: 14 টি ধাপ (ছবি সহ)

ভিডিও: কমলা পিআই HowTo: উইন্ডোজের জন্য উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন: 14 টি ধাপ (ছবি সহ)

ভিডিও: কমলা পিআই HowTo: উইন্ডোজের জন্য উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন: 14 টি ধাপ (ছবি সহ)
ভিডিও: ভারত থেকে বাংলাদেশে পণ্য আমদানি করে ব্যবসা করবেন যেভাবে | export import business 2024, নভেম্বর
Anonim
কমলা পিআই HowTo: উইন্ডোজের অধীনে উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন
কমলা পিআই HowTo: উইন্ডোজের অধীনে উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন

প্রয়োজনীয়তা:

আপনার প্রয়োজন হবে

  1. উইন্ডোজ চালানো একটি (ডেস্কটপ) কম্পিউটার।
  2. একটি ইন্টারনেট সংযোগ।
  3. একটি কমলা পিআই বোর্ড।

শেষটি alচ্ছিক, কিন্তু আমি নিশ্চিত, আপনার কাছে এটি ইতিমধ্যেই আছে। অন্যথায় আপনি এই নির্দেশনা পড়বেন না।

যখন আপনি অরেঞ্জ পিআই সিঙ্গেল বোর্ড কম্পিউটার কিনবেন তখন এটি সঠিকভাবে কনফিগার না হওয়া পর্যন্ত মৃত ধাতুর একটি টুকরো থাকে। এবং এর প্রধান কনফিগারেশন ফাইল: "script.bin" এটিকে জীবিত করার প্রথম চাবি। এই ফাইলটি আপনার বুটেবল এসডি কার্ডের বুট পার্টিশনে অবস্থিত। এবং সৌভাগ্যবশত আমাদের জন্য, অফিসিয়াল সাইট (https://www.orangepi.org/downloadresources/) থেকে লিনাক্স বিতরণের বেশিরভাগ ক্ষেত্রে এই পার্টিশনটি FAT32 এবং যেকোন উইন্ডোজ কম্পিউটার সহজেই দেখতে পারে। এটি সত্যিই জিনিসগুলিকে সহজ করে, যেহেতু উইন্ডোজের অধীনে লিনাক্স এক্সট 2 পার্টিশনে লেখার এখনও কোনও নির্ভরযোগ্য উপায় নেই।

আমাদের জন্য দুর্ভাগ্য স্ক্রিপ্ট.বিন কনফিগারেশন ফাইলে বাইনারি ফর্ম্যাট রয়েছে যা মানুষের সম্পাদনার জন্য সম্পূর্ণভাবে বন্ধুত্বপূর্ণ। এটির ডিক্রিপ্ট করার জন্য এবং প্রয়োজনীয় পরিবর্তনগুলি করার পরে আবার ক্রিপ্ট করার জন্য এক ধরণের সফ্টওয়্যার সরঞ্জাম প্রয়োজন। এবং এই ধরনের একটি টুলসেট বিদ্যমান। এটি কুখ্যাত SUNXI- টুলস। মলম মধ্যে মাছি যে এটি লিনাক্স অধীনে চালানোর উদ্দেশ্যে করা হয় এবং আমরা হয় শুধুমাত্র একটি sunxi- সরঞ্জাম ব্যবহার করার জন্য একটি নিবেদিত লিনাক্স-মেশিন রাখতে হবে, অথবা কিভাবে জানালার জন্য তাদের কম্পাইল একটি উপায় খুঁজে পেতে।

আমি কেবল এটি সংকলন করতে এবং এক্সিকিউটেবল শেয়ার করতে পারতাম, কিন্তু কেউ জানে না যে তারা একটি নতুন রিলিজ করতে চায় কিনা এবং আপনার যত তাড়াতাড়ি সম্ভব একটি নতুন সংকলন প্রয়োজন হবে। তাই আমি উৎস থেকে অপরিহার্য হাতিয়ারটি কীভাবে সংকলন করব তা একটি গাইড করার সিদ্ধান্ত নিয়েছি। চল শুরু করি.

ধাপ 1: সানক্সি-সরঞ্জামগুলি ডাউনলোড করুন

সানক্সি-টুলস ডাউনলোড করুন
সানক্সি-টুলস ডাউনলোড করুন
সানক্সি-টুলস ডাউনলোড করুন
সানক্সি-টুলস ডাউনলোড করুন

সানক্সি-টুলস সোর্সকোডের সর্বশেষ (বা প্রয়োজনীয়) সংস্করণটি পান।

ধাপ 2: সোর্সকোড আনজিপ করুন

সোর্সকোড আনজিপ করুন
সোর্সকোড আনজিপ করুন

ডাউনলোড শেষ হয়ে গেলে, আপনার পছন্দের ফোল্ডারে সোর্সকোড আনজিপ করুন। (আরও আমি ধরে নেব যে এই ফোল্ডারটি c: / sunxitools \, তাই এই পথটি আপনার নিজের পথ দ্বারা প্রতিস্থাপন করুন)।

ধাপ 3: কোড:: ব্লক ডাউনলোড করুন

কোড:: ব্লক ডাউনলোড করুন
কোড:: ব্লক ডাউনলোড করুন

আপনার যদি উইন্ডোজের জন্য কিছু অপারেশনাল c ++ কম্পাইলারের ইনস্টল করা কপি থাকে। এবং যদি আপনি জানেন কিভাবে এটি ব্যবহার করতে হয়, তাহলে আপনি সরাসরি 3 ধাপে এগিয়ে যেতে পারেন। আমার পছন্দ হল কোড:: ব্লক উইন্ডোজের জন্য পূর্বনির্ধারিত MinGW টুলচেইনের সাথে। আপনি এটি এখান থেকে পেতে পারেন:

ডাউনলোড করে ইন্সটল করুন।

ধাপ 4: আপনার আইডিই পরীক্ষা করুন

আপনার আইডিই পরীক্ষা করুন
আপনার আইডিই পরীক্ষা করুন

সবকিছু ঠিক আছে কিনা তা পরীক্ষা করার জন্য, কোডব্লক শুরু করুন, "একটি নতুন প্রকল্প তৈরি করুন" ক্লিক করুন, "কনসোল অ্যাপ্লিকেশন" নির্বাচন করুন, c বা c ++ নির্বাচন করুন, চেকআউট প্রকল্পের শিরোনাম টাইপ করুন, পরবর্তী উইন্ডোতে ডিফল্টগুলিকে অচেনা রাখুন এবং "সমাপ্তি" ক্লিক করুন "।

ধাপ 5: সম্পূর্ণ পরীক্ষা

সম্পূর্ণ পরীক্ষা
সম্পূর্ণ পরীক্ষা

তারপর IDE এর উপরের প্যানেলে একটি সবুজ ত্রিভুজ ক্লিক করুন অথবা Build-> রান মেনু পয়েন্ট ব্যবহার করুন। যদি জিনিসগুলি ঠিক হয়ে যায় তবে আপনার "স্বয়ংক্রিয়" হ্যালো ওয়ার্ল্ড "অ্যাপ্লিকেশন থেকে কালো" ডস "উইন্ডোতে একটি বার্তা দেখতে হবে।

যদি না হয়, তাহলে এর মানে হল যে IDE এবং কম্পাইলার সঠিকভাবে কাজ করছে না এবং আপনাকে এটি কিভাবে সঠিকভাবে সেট করতে হবে তা তদন্ত করতে হবে। সম্ভবত আপনাকে প্রোগ্রামিং সরঞ্জামগুলির অন্য সংস্করণ ডাউনলোড করতে হবে বা আপনার ফায়ারওয়াল/অ্যান্টিভাইরাস সফ্টওয়্যারে তাদের অনুমতিগুলি পরীক্ষা করতে হবে।

ধাপ 6: নতুন প্রকল্প তৈরি করুন

নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন
নতুন প্রকল্প তৈরি করুন

এখন আপনার কম্পিউটারে c: / sunxitools / ফোল্ডারে একটি অপারেশনাল C/C ++ প্রোগ্রামারের টুলকিট এবং আনপ্যাকড সানক্সি-টুলস সোর্সকোড থাকা উচিত। এটি একটি প্রকল্প একত্রিত করার সময়। আপনার IDE তে নতুন প্রকল্প তৈরি করুন। "কনসোল অ্যাপ্লিকেশন" প্রকারের সাধারণ সি (সি ++ নয়) প্রকল্পটি চয়ন করুন।

নিশ্চিত করুন যে আপনি c: / sunxitools / ফোল্ডারে প্রকল্প তৈরি করছেন এবং অন্য কোন স্থানে নয়। (EG codeblocks প্রজেক্টের একই নাম দিয়ে একটি সাবফোল্ডার তৈরি করে। তাই আপনি যদি আপনার প্রজেক্টের নাম দিয়ে থাকেন, তাহলে "test" বলুন এবং c: / sunxitools place এ রাখার চেষ্টা করুন, আপনি শেষ হয়ে যেতে পারেন প্রকল্পটি c: / sunxitools / test / যদি আপনি যথেষ্ট মনোযোগী না হন।) সানক্সি-টুলগুলিতে বেশ কয়েকটি ইউটিলিটি রয়েছে, কিন্তু আমাদের উদ্দেশ্যে আমাদের শুধুমাত্র একটি প্রয়োজন হবে: তথাকথিত "fexc" ইউটিলিটি।

ধাপ 7: প্রকল্পে ফাইল যুক্ত করুন

প্রকল্পে ফাইল যুক্ত করুন
প্রকল্পে ফাইল যুক্ত করুন

ঠিক "fexc" ইউটিলিটি স্ক্রিপ্ট.বিনকে টেক্সট ফরম্যাটে রূপান্তর করার জন্য এবং পিছনে বাইনারি রূপান্তরের জন্য দায়ী। এটি অপরিহার্য যে এই ইউটিলিটিটির এক্সিকিউটেবলের নাম "fexc.exe" আছে, তাই আপনি যদি আপনার প্রকল্পের নাম "fexc" রাখেন তবে এটি ভাল। যাইহোক আপনি প্রকল্পের অন্য কোন নাম ব্যবহার করতে পারেন, যেহেতু আপনি সবসময় সংকলনের পরে এক্সিকিউটেবল নাম পরিবর্তন করতে পারেন, অথবা আপনি উপরের পুলডাউন মেনু থেকে "প্রকল্প-> বৈশিষ্ট্য" নির্বাচন করতে পারেন এবং প্রদর্শিত উইন্ডোতে "লক্ষ্যগুলি তৈরি করুন" ট্যাবে ক্লিক করুন, এবং এক্সিকিউটেবল নাম ওভাররাইড করার জন্য সেখানে "আউটপুট ফাইলের নাম" ক্ষেত্র সম্পাদনা করুন।

আপনার স্বয়ংসম্পূর্ণ প্রকল্পে আপনার শুধুমাত্র পাঁচটি উৎস ফাইল যোগ করা উচিত:

  • fexc.c
  • script.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

এবং সাতটি হেডার ফাইল:

  • তালিকা।
  • fexc.h
  • script.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • version.h

প্রকল্প থেকে স্বয়ংক্রিয়ভাবে উত্পন্ন main.c বাদ দিতে ভুলবেন না, কারণ fexc.c এর মধ্যে ইতিমধ্যে "int main" ফাংশন রয়েছে। (মনে রাখবেন যে কোন প্রোগ্রামের শুধুমাত্র একটি প্রধান ফাংশন থাকা উচিত?)।

সমস্ত প্রয়োজনীয় সোর্স কোড ফাইলগুলি ইতিমধ্যে সাবফোল্ডারে রয়েছে, যেখানে আপনি সোর্সকোডগুলি আনপ্যাক করেছেন। হেডার ফাইলগুলো একজোড়া শব্দের প্রাপ্য, সেগুলো কোথায় পাওয়া যাবে। "list.h" - সাধারণত আনপ্যাক করা সোর্সকোড সেটের "অন্তর্ভুক্ত" সাবফোল্ডারে থাকে। "version.h" - শুধু এটি নিজেই তৈরি করুন। সেখানে একটি স্ট্রিং রাখুন:

#সংজ্ঞা দিন "Win32"

তারপর ফাইলটি সংরক্ষণ করুন এবং বন্ধ করুন। (আপনি চাইলে এটিকে #define's এবং #ifdef দিয়ে সাজাতে পারেন।)

যদি আপনি এখন প্রকল্পটি সংকলন করার চেষ্টা করেন তবে এটি প্রচুর ত্রুটি এবং একটি অনুপস্থিত ফাইল সম্পর্কে অভিযোগ করবে। ত্রুটিগুলি বেশিরভাগই অতিরিক্ত স্টাইলের স্বাধীনতা, সানক্সি-টুলস প্রোগ্রামাররা প্রয়োগ করার জন্য ব্যবহার করে এবং অনুপস্থিত ফাইলটি নির্ভরতা যা সোর্স কোডের প্যাকে অন্তর্ভুক্ত নয়। এই ধাপে ধাপে মোকাবেলা করা যাক।

ধাপ 8: Gcc 1999 আইএসও সি ভাষা মান অনুসরণ করুন

Gcc 1999 ISO C Language Standard অনুসরণ করুন
Gcc 1999 ISO C Language Standard অনুসরণ করুন

কম্পাইলারের জন্য অভিযোগ না করার জন্য খুব বিনামূল্যে প্রোগ্রামিং স্টাইল সংকলনের "с99" স্ট্যান্ডার্ট সেট করে। কোডব্লকগুলিতে "প্রজেক্ট -> বিল্ড অপশন" মেনুতে যান এবং "কম্পাইলার সেটিংস -> কম্পাইলার ফ্ল্যাগস" এ "জিএসসিকে 1999 আইএসও সি ল্যাঙ্গুয়েজ স্ট্যান্ডার্ড অনুসরণ করুন" চেকবক্স চেক করুন। অথবা আপনি আপনার কম্পাইলার অপশন স্ট্রিং-এ "-std = c99" যোগ করতে পারেন। এখন আপনি যদি প্রকল্পটি কম্পাইল করার চেষ্টা করেন তাহলে সেই টন ত্রুটিগুলি শুরু হওয়া উচিত এবং আপনি অনুপস্থিত নির্ভরতার সাথে একের পর এক।

ধাপ 9: অনুপস্থিত নির্ভরতা খুঁজুন

অনুপস্থিত নির্ভরতা খুঁজুন
অনুপস্থিত নির্ভরতা খুঁজুন

অনুপস্থিত নির্ভরতা হল "mman.h" ফাইল - কোন ধরণের লিনাক্স মেমরি ম্যানেজারের হেডার। উইন্ডোজ সি নেটিভভাবে এই ধরনের কোন ফাইল নেই, কিন্তু সৌভাগ্যবশত এর একটি উইন্ডোজ পোর্ট আছে। উইন্ডোজের জন্য https://github.com/witwall/mman-win32 এ যান। গিট রিপোজিটরির স্ন্যাপশট ডাউনলোড করুন।

ধাপ 10: ম্যানকে আনপ্যাক করুন

ম্যানকে আনপ্যাক করুন
ম্যানকে আনপ্যাক করুন

Mman.c এবং mman.h ফাইলগুলি আনপ্যাক করুন, সেগুলিকে c: / sunxitools / ফোল্ডারে রাখুন।

ধাপ 11: এবং তাদের প্রকল্পে যুক্ত করুন

এবং তাদের প্রকল্পে যুক্ত করুন
এবং তাদের প্রকল্পে যুক্ত করুন

ধাপ 12: সঠিক পথ

সঠিক পথ
সঠিক পথ

এবং ফাইলে "fex.c" raplece line:

#অন্তর্ভুক্ত

প্রতি

#অন্তর্ভুক্ত "mman.h"

এই ধাপে আপনার কম্পাইলার কিছু অভিযোগ করবেন না এবং আপনি আউটপুট হিসাবে দীর্ঘ অপেক্ষা fexc.exe পাবেন। খুব তাড়াতাড়ি খুশি হবেন না। ইউটিলিটি এখনও পুরোপুরি কার্যকরী নয়। আপনি কিছু বৈধ script.bin ফাইলকে টেক্সট ফর্মের মধ্যে ডিক্রিপ্ট করে নিশ্চিত করতে পারেন - script.fex ফাইল এর ফলে script.fex ফাইলটি script.bin এ আবার এনক্রিপ্ট করে। আপনি লক্ষ্য করতে পারেন যে, ফলে পাওয়া script.bin এর আকার মূল script.bin এর আকার থেকে কিছুটা আলাদা। এবং যদি আপনি ফলাফলটি আবার ডিক্রিপ্ট করার চেষ্টা করেন তবে এটি ব্যর্থ হবে। অরেঞ্জ পিআই এই স্ক্রিপ্ট.বিনের সাথে কাজ করবে না। কার্যকরী ইউটিলিটি পেতে আমাদের একটি কোড বোমা নিষ্কাশন করতে হবে, যে কেউ সানক্সি-টুলস সোর্সকোডে রেখেছে। এটি আমাদের পরবর্তী পদক্ষেপ হবে।

ধাপ 13: বহিষ্কার

বহিপ্রকাশ
বহিপ্রকাশ

কোড বোমা নিষ্কাশন করার জন্য fexc.c কোড ফাইলটি খুলুন এবং সেখানে পরবর্তী সামগ্রীর একটি পাঠ্য স্ট্রিং খুঁজুন:

অন্যথায় যদি ((আউট = ওপেন (ফাইলের নাম, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

শুধু পরবর্তী স্ট্রিং দিয়ে এটি প্রতিস্থাপন করুন:

অন্যথায় যদি ((আউট = ওপেন (ফাইলের নাম, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

যদি প্রথম স্ট্রিংয়ে খারাপ সংখ্যা "666" না হয় তবে আমি মনে করি কোডারটি O_BINARY পতাকা ব্যবহার করতে ভুলে গেছে। কিন্তু দ্য বিস্টের সংখ্যা স্বচ্ছভাবে তার উদ্দেশ্য স্পষ্ট করে। চিত্রটি দেখুন, এটি কতটা বুদ্ধিমান: উইন্ডোজ এবং লিনাক্সে ফাইলগুলি কীভাবে প্রক্রিয়া করা হয় তার সূক্ষ্ম পার্থক্যের কারণে যখন ইউটিলিটিটি লিনাক্সের অধীনে সংকলিত এবং ব্যবহার করা হয় তখন বোমাটির কোনও প্রভাব নেই। কিন্তু এটি সবকিছু ধ্বংস করে দেয় যখন ইউটিলিটি উইন্ডোজের অধীনে ব্যবহৃত হয়।

বোমাটি নিরস্ত্র করার পরে, আপনি অবশেষে আপনার উইন্ডোজ ডেস্কটপ কম্পিউটারে ফেক্স ইউটিলিটি কম্পাইল এবং নিরাপদে ব্যবহার করতে পারেন।

ধাপ 14: নোট

মন্তব্য
মন্তব্য

1) fexc ইউটিলিটি আরামদায়কভাবে ব্যবহার করতে, আপনার দুটি ব্যাচ ফাইল পাওয়া উচিত:

bin2fex.bat - এবং - fex2bin.bat।

আপনি উইন্ডোজের জন্য সেখান থেকে কিছু fexc.exe বিল্ড থেকে পেতে পারেন, অথবা আপনি সেগুলি নিজেই টাইপ করতে পারেন:

  • bin2fex.bat- এ "fexc -I bin -O fex script.bin script.fex" থাকা উচিত
  • fex2bin.bat- এ "fexc -O bin -I fex script.fex script.bin" থাকা উচিত

2) যদি উইন্ডোজের জন্য ম্যান ম্যানেজার খুঁজে পাওয়া কঠিন হয় তবে কেউ এর ব্যবহার এড়াতে পারে। তবে এটি fexc.c ফাইলের অনেক বেশি সম্পাদনা করে এবং কমপক্ষে c এর কিছু জ্ঞান প্রয়োজন। আপনার দৃ convin়তার জন্য আমি সানক্সি-টুলস v1.4 থেকে ফেক্সের সম্পাদিত সোর্স কোডটি mman.h এর নির্ভরতা থেকে মুক্ত এবং কোডব্লক প্রকল্প ফাইল সহ এবং কিছু কমলা পাই থেকে নমুনা স্ক্রিপ্ট। আপনি fexc_nomman.zip ডাউনলোড করতে পারেন

3) এটা সম্ভব যে সানক্সি-টুলসের ফলস্বরূপ তারা আরও কিছু নির্ভরতা যোগ করবে। নির্দ্বিধায় ইন্টারনেটে তাদের খুঁজে বের করুন এবং আপনার সংকলন প্রকল্পে যুক্ত করুন।

5) অবশেষে এখানে Win32 এর জন্য fexc.exe- এর পূর্ব -সংকলিত সংস্করণ:

fexc_nomman.zip

আপনি যদি যথেষ্ট অলস হন তবে নির্দ্বিধায় ver ব্যবহার করুন। যাইহোক সাবধান যে এটি আপডেট হবে না যদি/যখন SunxiTools/Windows এর নতুন সংস্করণগুলি পাওয়া যাবে। তাই কিছু নির্দিষ্ট বাইনারি বিল্ডের উপর নির্ভর করার চেয়ে তাদের কীভাবে কম্পাইল করতে হয় তা শেখা ভাল, আমি অনুমান করি।

4) "অরেঞ্জ পিআই", "কোড:: ব্লক", "উইন্ডোজ", "লিনাক্স", "সানক্সি-টুলস", "অলউইনার", ইত্যাদি … তাদের নিজ নিজ মালিকদের সংশ্লিষ্ট ট্রেডমার্ক।

5) যদি আপনি কম্পাইলার mman ফাংশন না খুঁজে পেতে অভিযোগ করেন, যেমন:

'_imp_mmap' এর অনির্ধারিত রেফারেন্স

সচেতন হোন যে ম্যান ডেভেলপমেন্ট কমিউনিটির প্রেমিকরা ভুলে গেছেন যে কোডটি শুধুমাত্র dll লাইব্রেরি হিসাবে নয়। এটি একটি স্ট্যাটিক লাইব্রেরি বা একটি স্বতন্ত্র কোড হতে পারে যেমন আমাদের এখানে আছে। সমস্যা সমাধানের জন্য "mman.h" ফাইলটি নিম্নরূপ সম্পাদনা করুন:

ক) স্ট্রিংগুলি খুঁজুন:

#if সংজ্ঞায়িত (MMAN_LIBRARY)

#নির্ধারণ MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif

খ) স্ট্রিং যোগ করুন

#MMANSHARED_EXPORT নির্ধারণ করুন

আগের ধাপে পাওয়া স্ট্রিংগুলির ঠিক নীচে

প্রস্তাবিত: