آخر

لم يتم العثور على رموز خطأ Mac للبنية x86_64

هناك

ملصق أصلي
22 يوليو 2016
  • 22 يوليو 2016
أهلا بالجميع،

أنا أعمل على مشروع يتكون من تجميع تطبيق Windows على Mac. التطبيق مكتوب بلغة C ++ مع Qt. وتتكون من مكتبات والمشروع الرئيسي:
http://hpics.li/d8bb2ec
يستخدم المشروع مكتبة خارجية ، ODA ، لإدارة ملفات .dwg و .dgn.
المشكلة هي عندما أقوم بتجميع أول مكتبة (MdCore) ، أحصل على خطأ: الرمز (الرموز) غير موجود للهندسة المعمارية x86_64.
في البداية أضفت -stdlib = libstdc ++ إلى وسيطة qmake لكن Qt أنتجت لي ملفات 0 بايت ، لذلك لم يكن هذا هو الحل.
لقد جربت إصدارًا مختلفًا من مكتبة ODA: 32 بت و 64 بت لـ OSX 10.7 و 10.11. (جهاز Mac يعمل بنظام OSX 10.11)
لقد أنشأت الأمر 'ملف' في مكتباتي وهنا الإخراج:

:
.a: أرشفة المكتبة العشوائية الحالية

.dylib:
ثنائي عالمي Mach-0 مع معمارتين
(للعمارة x68_64): Mach-0 64-bit مرتبطة ديناميكيًا بالمكتبة المشتركة x86_64
(للعمارة i386): Mach-0 مكتبة مشتركة مرتبطة ديناميكيًا i386

لقد حاولت تجميع 32 و 64 بت ولكن ذلك لا يغير شيئًا. أنا بصدد هذه المشكلة لمدة أسبوعين ولا أعرف ما الذي يمكنني فعله

لقد وضعت موضوعًا في منتدى Qt ، ربما يمكنك العثور على مزيد من المعلومات:
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
إذا كان لدى شخص ما فكرة أو حل ، فسأكون مهتمًا

شكرا ! ج

cqexbesd

4 يونيو 2009


ألمانيا
  • 22 يوليو 2016
لا أعرف أي شيء عن qmake ولكن ربما يجب عليك فقط نشر أوامر المترجم الخاصة بك لتجميعها وربما يكون شخص ما قادرًا على رؤية الخطأ.

هناك

ملصق أصلي
22 يوليو 2016
  • 22 يوليو 2016
مرحبًا cqexbesd ، شكرًا لإجابتك ، ها هي بداية إخراج البناء:

17:34:10: ابدأ: '/ المستخدمون/developpement/Qt/5.7/clang_64/bin/qmake' / المستخدمون/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG + = تصحيح أخطاء CONFIG + = x86_64 CONFIG + = qml_debug

17:34:10: انتهت العملية '/ المستخدمون/developpement/Qt/5.7/clang_64/bin/qmake' بشكل طبيعي

17:34:10: ابدأ: '/ usr / bin / make'

... ج

cqexbesd

4 يونيو 2009
ألمانيا
  • 24 يوليو 2016
ما قصدته هو أن qmake هو مجرد أداة لاستدعاء المترجم. هل يمكنك العثور على السطر الذي يستدعي qmake المترجم فيه؟ على الأقل في مكان ما للبدء.

هناك

ملصق أصلي
22 يوليو 2016
  • 25 يوليو 2016
أعتقد أنه هنا:
الكود: Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DMDCORE_LIBRARY -D_TOOLKIT_IN_DLL_ -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../MdCore -I. -I../../include -I../../include/teigha -I../../include/Extensions/ExServices -I../../include/Extensions/win -I../../include/Extensions/win/Crypt -I../../../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/developpement/Qt/5.7/clang_64/lib -o mduserio.o ../../MdCore/mduserio.cpp
في ناتج التجميع لدي هذه الأسطر عدة مرات ، لكن السطر الأخير فقط يتغير (اسم الملف يتغير)

تحرير: هنا نفس الأسطر ولكن مع وجود مسافات بينهما
الكود: Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DMDCORE_LIBRARY -D_TOOLKIT_IN_DLL_ -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../MdCore -I. -I../../include -I../../include/teigha -I../../include/Extensions/ExServices -I../../include/Extensions/win -I../../include/Extensions/win/Crypt -I../../../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/developpement/Qt/5.7/clang_64/lib -o mduserio.o ../../MdCore/mduserio.cpp آخر تعديل بواسطة الوسيط: 25 يوليو 2016 ج

cqexbesd

4 يونيو 2009
ألمانيا
  • 25 يوليو 2016
يجب أن يكون هناك أيضًا خط ربط - على سبيل المثال سطر حيث يتم استدعاء clang ++ بدون الوسيطة -c. قد يكون مفيدًا إذا كان بإمكانك لصق ارتباط إلى الناتج بأكمله في الواقع.

هناك

ملصق أصلي
22 يوليو 2016
  • 26 يوليو 2016
لا أعتقد أنه من الممكن تغيير حجج المترجم. قد أفعل ذلك مع موجه.
ها هو الناتج الكامل (إنه طويل جدًا! 100.000 سطر): http://textup.fr/171939hC


تحرير: لقد جمعت مع الموجه لذلك لدي المزيد من الأسطر في الإخراج ، والأسطر الأخيرة مثيرة للاهتمام:


رموز غير محددة للهندسة المعمارية x86_64:

الكود: '_CFArrayGetCount', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFArrayGetValueAtIndex', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFLocaleCopyPreferredLanguages', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFStringGetCharacterAtIndex', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFStringGetLength', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.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: *** [../debug/libMdCore.1.0.0.dylib] Error 1 آخر تعديل بواسطة الوسيط: 26 يوليو 2016 ج

cqexbesd

4 يونيو 2009
ألمانيا
  • 26 يوليو 2016
أعتقد أن ناتج 100 ألف لبناء من أي شيء ولكن النظام الأكثر تعقيدًا ربما يكون علامة على أن الأشياء قد سارت بشكل خاطئ في مكان ما - ولكن هذا تعليق أكثر عمومية حول حالة الصناعة.

العودة إلى مشكلتك المحددة. لا أرى أخطاء الارتباط التي نشرتها في 'الإخراج الكامل' ولكن يبدو أن هذا مجرد أخطاء رابط عادية. كما هو الحال في الأنظمة الأساسية الأخرى ، يمكنك استخدام nm (أو Google) للعثور على مكان تعريف هذه الرموز ويبدو أنها موجودة في /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation بالنسبة لي (ولكن لدي mac القديم لذلك قد لا يكون صحيحًا بالنسبة لك).

لا يمكنك الارتباط بهذه المكتبة مباشرة. حاول إضافة الكود: -framework CoreFoundation إلى أعلام الرابط الخاص بك.

هناك

ملصق أصلي
22 يوليو 2016
  • 27 يوليو 2016
نعم كلامك صحيح !! شكرا جزيلا يمكنني تجميعها الآن! كنت أواجه هذه المشكلة لمدة 3 أسابيع! شكرا جزيلا ! مع

zibbi

5 فبراير 2019
  • 5 فبراير 2019
قال cqexbesd: أعتقد أن إخراج 100 ألف لبناء من أي شيء ولكن النظام الأكثر تعقيدًا ربما يكون علامة على أن الأمور قد سارت بشكل خاطئ في مكان ما - ولكن هذا تعليق أكثر عمومية حول حالة الصناعة.

العودة إلى مشكلتك المحددة. لا أرى أخطاء الارتباط التي نشرتها في 'الإخراج الكامل' ولكن يبدو أن هذا مجرد أخطاء رابط عادية. كما هو الحال في الأنظمة الأساسية الأخرى ، يمكنك استخدام nm (أو Google) للعثور على مكان تعريف هذه الرموز ويبدو أنها موجودة في /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation بالنسبة لي (ولكن لدي mac القديم لذلك قد لا يكون صحيحًا بالنسبة لك).

لا يمكنك الارتباط بهذه المكتبة مباشرة. حاول إضافة الكود: -framework CoreFoundation إلى أعلام الرابط الخاص بك.
مع

zibbi

5 فبراير 2019
  • 5 فبراير 2019
مرحبًا يا رفاق ... لقد واجهت مشكلة مشابهة جدًا ... لكني أستخدم الجهاز الطرفي للتجميع ... هل يمكن لشخص ما المساعدة في كيفية القيام بنفس الحل في حالة الجهاز الطرفي؟

لدي ملف. / تكوين جاهز ويعمل بسلاسة ولكني أحصل على ffi ... الرموز ذات الصلة لم يتم العثور عليها ...

أوكييام

17 من كانون الأول 2016
  • 8 فبراير 2019
قال zibbi: مرحبًا يا رفاق ... لقد واجهت مشكلة مشابهة جدًا ... لكنني أستخدم الجهاز الطرفي للتجميع ... هل يمكن لأي شخص الرجاء المساعدة في كيفية القيام بنفس الحل في حالة الجهاز الطرفي؟

لدي ملف. / تكوين جاهز ويعمل بسلاسة ولكني أحصل على ffi ... الرموز ذات الصلة لم يتم العثور عليها ...
env CPPFLAGS = '- I / home / foo / sw / include' LDFLAGS = '- L / home / foo / sw / lib /' ./configure