জিসিসি ৪.7 (ব্রিউয়ের মাধ্যমে) "/usr/incolve/c++/4.2.1" থেকে অন্তর্ভুক্ত রাখে


0

এই আমাকে পাগল করছে:

আমার প্রচুর স্টাফ ব্যবহার করতে হবে যা এক্সকোড 5 (ম্যাক ওএস এক্স 10.8 তে) এর সাথে স্ট্যান্ডার্ড ক্ল্যাং / এলএলভিএম সংকলকগুলির সাথে সহজেই সংকলন করে না, তাই আমি ব্রিউয়ের মাধ্যমে জিসিসি 47 ইনস্টল করার সিদ্ধান্ত নিয়েছি।

সবকিছু ঠিকঠাক হয়েছে তবে যখন আমি বিষয়গুলি সংকলনের চেষ্টা করব তখন আমি বেশ কয়েকটি ত্রুটি বার্তা পেয়েছি এবং আমি আবিষ্কার করেছি যে এর মধ্যে কিছুগুলি এখনও "/usr/incolve/c++/4.2.1" থেকে আসছে যা সত্যই অদ্ভুত।

এটি কীভাবে পরিষ্কার উপায়ে সেট আপ করা যায় তা আমাকে কেউ ব্যাখ্যা করতে পারেন?

এই পদক্ষেপগুলি আমি করছি:

  • ব্রিউ আপডেট
  • ব্রিউ ইনস্টল gcc47
  • ওরফে জিসিসি = 'জিসিসি-৪.7'

ব্রিউ আমাকে সতর্ক করেছিল যে আমাকে সেট আপ করতে হবে LDFLAGSএবং CPPFLAGSউদ্ধৃত (সংক্ষিপ্ত):

  This formulas are keg-only: so they were not symlinked into /usr/local.
    Conflicts with gmp, mpfr, libmpc, ppl in main repository.

    Generally there are no consequences of this for you. If you build your
    own software and it requires these formulas, you'll need to add to your
    build variables:
        LDFLAGS:  -L/usr/local/opt/gmp4/lib
        CPPFLAGS: -I/usr/local/opt/gmp4/include

        LDFLAGS:  -L/usr/local/opt/mpfr2/lib
        CPPFLAGS: -I/usr/local/opt/mpfr2/include

        LDFLAGS:  -L/usr/local/opt/libmpc08/lib
        CPPFLAGS: -I/usr/local/opt/libmpc08/include


        LDFLAGS:  -L/usr/local/opt/ppl011/lib
        CPPFLAGS: -I/usr/local/opt/ppl011/include

        LDFLAGS:  -L/usr/local/opt/cloog-ppl015/lib
        CPPFLAGS: -I/usr/local/opt/cloog-ppl015/include

তাই রফতানি LDFLAGSএবং CPPFLAGSমাধ্যমে

        export LDFLAGS="${LDFLAGS} -L/usr/local/opt/gmp4/lib -L/usr/local/opt/mpfr2/lib -L/usr/local/opt/libmpc08/lib -L/usr/local/opt/ppl011/lib -L/usr/local/opt/cloog-ppl015/lib"

        export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/gmp4/include -I/usr/local/opt/mpfr2/include -I/usr/local/opt/libmpc08/include -I/usr/local/opt/ppl011/include -I/usr/local/opt/cloog-ppl015/include"

কৌশলটি করা উচিত (আমি ভেবেছিলাম)।

তবে তা হয় না। আমি এই জাতীয় বার্তা পেতে থাকি:

/usr/include/c++/4.2.1/bit/stl_vector.h:600:7: দ্রষ্টব্য: নির্ভরশীল বেস শ্রেণীর পুশ_ব্যাক (কনট মান_প্রকার & __x) এ এই ঘোষণাটি খুঁজে পেতে অবশ্যই সনাক্তকারীকে যোগ্যতা অর্জন করতে হবে ^

এবং আমি কেবল বুঝতে পারি না কেন?


কোথায় কম্পাইল The ভেক্টর জন্য অন্তর্ভুক্ত হবে থেকে - নয় এমন 5 লাইব্রেরির জন্য ঠিক হয় এবং মান লাইব্রেরি - আপনি যে স্পষ্টভাবে সেট করতে হবে
মার্ক

1
@ মার্ক আহ ঠিক আছে, তাই কেবল স্ট্যান্ডার্ড লাইব্রেরির পথ যুক্ত করুন / LDFLAGSএবং এতে অন্তর্ভুক্ত CPPFLAGS?
তামাসল

হোমফ্রু জিসিসিতে নির্দেশ করে মেকফিলটি সম্পাদনা করুন, উপাধি তৈরি করবেন না।
ব্যবহারকারী 1256923

উত্তর:


1

এই নোটটি কেবল 4 টি গ্রন্থাগারকে জিএমপি, এমপিএফআর, লিবিএমপিসি, পিপিএল বোঝায় এবং আমি মনে করি এর অর্থ এই যে আপনি যদি এটি ব্যবহার করেন তবে এগুলি স্ট্যান্ডার্ড অনুসন্ধানের পথের আগে হওয়া দরকার।

আপনার সমস্যাটি হ'ল সংকলকটি যেখানে স্ট্যান্ডার্ড লাইব্রেরি শিরোনাম (এবং পরে গ্রন্থাগারগুলি) সন্ধান করছে। / ইউএসআর / অন্তর্ভুক্ত জিসিসি ডিফল্ট যা অ্যাপলের সংকলকগুলির জন্য ইনস্টল করা আছে এবং এটি সংস্করণ অনুসারে আপনাকে যে পথ দেখছে তাতে পুনঃনির্দেশিত হয়।

আপনাকে প্রথমে হম্ব্রু সংকলকগুলির পাথ সন্ধান করার জন্য স্পষ্টভাবে পাথগুলি সেট করতে হবে


আপনি সেটিং মানে কি LDFLAGSএবং CPPFLAGSবা অন্য কোন ভেরিয়েবল আমি পরীক্ষা করা উচিত কি?
তামাসল

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