মেকফাইলে কয়েকটি অন্তর্ভুক্ত করার উপায় কীভাবে সংজ্ঞায়িত করবেন to


99

সি ++ তে নতুন; অন্তর্ভুক্ত, গ্রন্থাগার এবং সংকলন প্রক্রিয়া এর প্রাথমিক বোঝাপড়া। কয়েকটি সাধারণ মেকফাইল এখনও করেছেন।

আমার বর্তমান প্রকল্পে একটি ইনফরমেশন ডিবি এপিআই ব্যবহার করা জড়িত এবং আমার একাধিক নন স্ট্যান্ডার্ড ডায়ারের মধ্যে হেডার ফাইলগুলি অন্তর্ভুক্ত করা দরকার। কীভাবে লিখব? নেটটিতে কিছু খুঁজে পাওয়া যায় নি, সম্ভবত কারণ আমি ভাল অনুসন্ধানের শব্দ ব্যবহার করিনি

এটি আমি চেষ্টা করেছি এটি একটি উপায় (কাজ করছে না)। শুধু মেকফিল দেখানোর জন্য

LIB=-L/usr/informix/lib/c++
INC=-I/usr/informix/incl/c++ /opt/informix/incl/public

default:    main

main:   test.cpp
        gcc -Wall $(LIB) $(INC) -c test.cpp
        #gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp

clean:
        rm -r test.o make.out

উত্তর:


117

আপনাকে প্রতিটি ডিরেক্টরিটি এগুলির সাথে সংশোধন করতে হবে -I:

INC=-I/usr/informix/incl/c++ -I/opt/informix/incl/public

4
এটি এখনও আমার পক্ষে কাজ করে না, যদিও ম্যানুয়ালি জিসিসি চালানো এটি করে।
NoBugs

94

আপনাকে -Iপ্রতিটি ডিরেক্টরি ব্যবহার করতে হবে। আপনি এখনও যদি (জিএনইউ) মেক ব্যবহার করেন তবে আপনি হোয়াইটস্পেসের সাহায্যে ডিরেক্টরিগুলি সীমিত করতে পারেন foreach:

INC=$(DIR1) $(DIR2) ...
INC_PARAMS=$(foreach d, $(INC), -I$d)

18
অথবা খাটো: INC_PARAMS=$(INC:%=-I%)সঙ্গে বদল$(foreach,,)আরও পঠনযোগ্য, তবে বিকল্পগুলি এত সাধারণভাবে ব্যবহৃত হয় যে তারা যেভাবে কীভাবে কাজ করে তা ভাল করে জানা ভাল।
স্কেলি

5
বা INC_PARAMS = $(addprefix -I,$(INC))
মা মিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.