مايكيزانغ
إلى
ملصق أصلي- 22 مايو 2010
- طوكيو، اليابان
- 25 يوليو 2015
الكود:
1. Download GCC 3.3.6 and Unzip cd ../.. wget http://gcc.parentingamerica.com/releases/gcc-3.3.6/gcc-3.3.6.tar.gz tar xzvf gcc-3.3.6/gcc-3.3.6.tar.gz 2. Download NEWLIB 1.13 and unzip wget ftp://sourceware.org/pub/newlib/newlib-1.13.0.tar.gz tar xzvf newlib-1.13.0.tar.gz 3. Link NEWLIB to GCC cd gcc-3.3.6/ ln -s ../newlib-1.13.0/newlib . 4. Make h8300-hms build folder cd .. mkdir build_gcc_h8300-hms 5. Config ../gcc-3.3.6/configure --prefix=/usr/local/h8300-hms --program-prefix=h8300-hms- --target=h8300-hms --enable-languages=c,c++ --with-newlib 6. Make make CFLAGS='-O2 -fomit-frame-pointer' all
عندما أقوم بذلك ، حصلت أخيرًا على خطأ على النحو التالي ، ماذا أفعل؟
الكود:
gcc -c -O2 -fomit-frame-pointer -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -I. -Icp -I../../gcc-3.3.6/gcc -I../../gcc-3.3.6/gcc/cp -I../../gcc-3.3.6/gcc/config -I../../gcc-3.3.6/gcc/../include ../../gcc-3.3.6/gcc/cp/cp-lang.c -o cp/cp-lang.o gcc -O2 -fomit-frame-pointer -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -o cc1plus cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parse.o cp/ptree.o cp/rtti.o cp/spew.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-lang.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o main.o libbackend.a libcpp.a ./intl/libintl.a -liconv ../libiberty/libiberty.a Undefined symbols for architecture x86_64: '_libc_name_p', referenced from: _nothrow_libfn_p in except.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [cc1plus] Error 1 make: *** [all-gcc] Error 2
ماد العاقل
إلى
- 8 نوفمبر 2010
- يوتا
- 2 أغسطس 2015
مايكيزانغ
إلى
ملصق أصلي- 22 مايو 2010
- طوكيو، اليابان
- 4 أغسطس 2015
قال Madd the Sane: ما يحدث هو أن رابط OS X لا يمكنه العثور على الوظيفة المحددة في أي شيء يحاول ربطه. قد يكون السبب في ذلك هو وجود ماكرو معالج مسبق مفقود ، أو أن الشفرة المترجمة و / أو المكتبة غير مرتبطة.شكرا على رسالتك! هل يمكن أن تخبرني كيف أحل هذه المشكلة؟ ج
cqexbesd
- 4 يونيو 2009
- ألمانيا
- 4 أغسطس 2015
قال مايكيزانغ: شكرا على رسالتك! هل يمكن أن تخبرني كيف أحل هذه المشكلة؟
أنا فقط أخمن هنا ولكن أعتقد أنك قد تحتاج إلى تثبيت gperf. ثم ابدأ البناء من نقطة الصفر - على سبيل المثال: إنشاء distclean أو ما شابه - أو احذف الدليل الخاص بك وقم بتوسيع ملف tar مرة أخرى.
Cromulent
- 2 أكتوبر 2006
- أرض الأمل والمجد
- 4 أغسطس 2015
قال مايكيزانغ: شكرا على رسالتك! هل يمكن أن تخبرني كيف أحل هذه المشكلة؟
يبدو أنك تستخدم GCC غير صحيح.
إما أن تكتب المسار الكامل إلى GCC 3.3.6 أو تضيفه إلى المسار باسم مختلف عن GCC (لأن Apple توفر بالفعل أمر GCC والذي يحدث بالفعل لتشغيل clang). لهذا السبب لديك الخطأ التالي:
ld: لم يتم العثور على رمز (رموز) للعمارة x86_64
clang: خطأ: فشل الأمر linker مع رمز الخروج 1 (استخدم -v لرؤية الاستدعاء)
أنت تقوم بالفعل بتشغيل Clang الذي يتم تجميعه إلى x86_64. تحتاج إلى تشغيل GCC التي قمت بتجميعها. عادةً عند تجميع GCC كمترجم متقاطع ، فإنك تعطيه اسمًا مختلفًا عن GCC (وهو أحد خيارات تكوين البرنامج النصي لـ GCC عند تجميعه) حتى تتمكن من معرفة الفرق بين GCC التي يوفرها النظام وتقاطع GCC الخاص بك مترجم.
مايكيزانغ
إلى
ملصق أصلي- 22 مايو 2010
- طوكيو، اليابان
- 4 أغسطس 2015
قال cqexbesd: أنا فقط أخمن هنا ولكن أعتقد أنك قد تحتاج إلى تثبيت gperf. ثم ابدأ البناء من نقطة الصفر - على سبيل المثال: إنشاء distclean أو ما شابه - أو احذف الدليل الخاص بك وقم بتوسيع ملف tar مرة أخرى.رائعة! الليلة الماضية وجدت هذه الصفحة http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p ، ذهب الخطأ بعد متابعته.
المشاركات الشعبية