উত্তর:
আপডেট: আপনি যদি ক্লিওন 2020.2 ব্যবহার করেন তবে এটি ইতিমধ্যে মেকফিলগুলি সমর্থন করে। আপনি যদি কোনও পুরানো সংস্করণ ব্যবহার করছেন তবে পড়ুন।
যদিও বর্তমানে কেবল সিএমকেই সমর্থনযোগ্য, আপনি সিএমকেকে makeআপনার কাস্টম দিয়ে কল করার নির্দেশ দিতে পারেন Makefile। আপনার CMakeLists.txtএই দুটি কমান্ডের একটি যুক্ত করে সম্পাদনা করুন :
আপনি যখন CLionআপনার প্রোগ্রামটি চালিত করতে বলবেন , তখন এটি নির্দেশিত ডিরেক্টরিতে লক্ষ্যটির একই নামের সাথে একটি নির্বাহযোগ্যকে অনুসন্ধান করার চেষ্টা করবে PROJECT_BINARY_DIR। সুতরাং যতক্ষণ আপনার makeফাইলটি উত্পন্ন করে যতক্ষণ CLionপ্রত্যাশা করে, ততক্ষণ কোনও সমস্যা হবে না।
এখানে একটি কার্যকারী উদাহরণ:
CLionএর $ (PROJECT_BINARY_DIR) কে পাস করতে বলুনmakeএটি নমুনা CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.4)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
CLION_EXE_DIR=${PROJECT_BINARY_DIR})
CLion'sডিরেক্টরিতে এক্সিকিউটেবল জেনারেট করতে বলুনএটি নমুনা Makefile:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
এগুলি হ'ল, আপনি আপনার প্রোগ্রামের কার্যনির্বাহী ডিরেক্টরিও পরিবর্তন করতে চাইতে পারেন যাতে আপনি যখন আপনার ডিরেক্টরিটির ভিতরে থেকে রান প্রস্তুত করেন তখন এটি কার্যকর হয়। এই সম্পাদনার জন্য:Run -> Edit Configurations ... -> mytest -> Working directory
Makefileএবং CMakeLists.txtএকটি সংশোধন করার চেষ্টা করুন *.cppফাইল। এটি ক্লিওনকে স্ক্র্যাচ থেকে সমস্ত কিছু তৈরি করতে হবে।
যদিও এটি সর্বাধিক ভোট দেওয়া বৈশিষ্ট্য অনুরোধগুলির মধ্যে একটি , ভিক্টর ক্রপের একটি প্লাগইন উপলব্ধ রয়েছে যা মেকফাইলে সমর্থন যোগ করে:
ইন্টেলিজ আইডিইএর জন্য মেকফিল সমর্থন প্লাগইন
আপনি সরকারী সংগ্রহস্থল থেকে সরাসরি ইনস্টল করতে পারেন:
সেটিংস> প্লাগইনস> সন্ধান makefile> ভান্ডারে অনুসন্ধান> ইনস্টল> পুনঃসূচনা art
চালানোর জন্য কমপক্ষে তিনটি ভিন্ন উপায় রয়েছে:
এটি আউটপুট সহ রান
টার্গেট নামের একটি ফলকটি খুলবে ।
binary<default>" এ চালানো যায় না
সংকলিত মাধ্যমে যেকোন উত্পন্ন মেকফিলের জন্য নতুন সংস্করণটির আক্ষরিক আরও ভাল সমর্থন রয়েছে
তিনটি পদক্ষেপ:
সংকলিত ইনস্টল
pip install compiledb
একটি শুকনো মেক চালান
compiledb -n make
(অটোজেন করুন, প্রয়োজনে কনফিগার করুন)
প্রজেক্টটি খুলতে একটি কম্পাইল_কম্যান্ডস.জসন ফাইল তৈরি হবে এবং আপনি দেখতে পাবেন যে ক্লিওন জসন ফাইল থেকে তথ্য লোড করবে। যদি আপনি এখনও আপনার ক্লিওন CMakeLists.txt সন্ধান করার চেষ্টা করেন এবং compile_commands.json পড়তে না পারেন, পুরো ফোল্ডারটি সরিয়ে ফেলার চেষ্টা করুন, উত্স ফাইলগুলি পুনরায় ডাউনলোড করুন এবং 1,2,3 পদক্ষেপটি পুনরায় করুন
অরিগনাল পোস্ট: সংকলন ডিবি ব্যবহার করে ক্লিওনে মেকফাইলগুলির সাথে কাজ করা
CMAKE ব্যবহার সম্পূর্ণরূপে এড়াতে, আপনি কেবল:
টার্মিনালের মাধ্যমে মেক দিয়ে আপনি যেমনটি সাধারনত আপনার প্রকল্পটি তৈরি করুন।
আপনার ক্লায়োন কনফিগারেশন পরিবর্তন করুন, (শীর্ষ বারে) এ যান:
Run -> Edit Configurations -> yourProjectFolder
Executableমেক দিয়ে তৈরি হওয়াতে পরিবর্তন করুন
Working directoryআপনার এক্সিকিউটেবল ধারণকারী ফোল্ডারে পরিবর্তন করুন (যদি প্রয়োজন হয়)
বাক্সে Buildটাস্কটি সরানBefore launch:Activate tool window
এবং আপনি প্রস্তুত! আপনার ম্যানুয়াল তৈরির পরে আপনি এখন ডিবাগ বোতামটি ব্যবহার করতে পারেন।
বর্তমানে, কেবল সিএমকেই ক্লিওন সমর্থিত। ভবিষ্যতে অন্যদের বিল্ড সিস্টেমগুলি যুক্ত করা হবে তবে বর্তমানে আপনি কেবল সিএমকেই ব্যবহার করতে পারবেন।
আপনাকে সিএমকে ব্যবহার করতে সহায়তা করার জন্য একটি আমদানিকারী সরঞ্জাম প্রয়োগ করা হয়েছে।
সম্পাদনা:
সূত্র: http://blog.jetbrains.com/clion/2014/09/clion-answers-fre ਵਿਰোয় -অ্যাস্কড- জিজ্ঞাসা
আমি সিএমকেকের সাথে খুব বেশি পরিচিত নই এবং মন্ডকিনের সমাধানটি সরাসরি ব্যবহার করতে পারিনি।
উইন্ডোজ-এ ক্লিওনের সর্বশেষ সংস্করণ (১.২.৪) এবং মিনজিডাব্লু ব্যবহার করে আমি আমার সিএমকেলিস্ট.টেক্সট এ নিয়ে এসেছি (আমি মনে করি আপনাকে কেবল সমস্ত প্রতিস্থাপন করতে হবে: g ++ mytest.cpp -o বিন / মাইয়েস্ট যদি তৈরি করে থাকেন তবে আপনি একই সেটআপ ব্যবহার করছেন না):
cmake_minimum_required(VERSION 3.3)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
এবং কাস্টম মেকফাইলটি এটির মতো (এটি আমার প্রকল্পের মূলের দিকে অবস্থিত এবং একটি বিন ডিরেক্টরিতে এক্সিকিউটেবল জেনারেট করে):
all:
g++ mytest.cpp -o bin/mytest
আমি কার্যকর করতে সক্ষম এবং লগ উইন্ডোতে ত্রুটিগুলি ক্লিকযোগ্য।
আইডিইতে ইঙ্গিতগুলি বেশ সীমাবদ্ধ যা খাঁটি সিএমকে প্রকল্পগুলির তুলনায় একটি বড় সীমাবদ্ধতা ...
set(SOURCE_FILES all_files_here.c)এবং তারপরে add_executable(foobar_cmake ${SOURCE_FILES})কাস্টম টার্গেটের সাথে যুক্ত করে "সক্রিয়" হিসাবে চিহ্নিত করতে সক্ষম হয়েছি । তারপরে নিশ্চিত হয়ে নিন যে ক্লিওন আপনার কাস্টম টার্গেটটি তৈরি / চালানোর জন্য সেট করেছে এবং _ক্যামেকটি নয়।