هناك
ملصق أصلي- 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
هناك
ملصق أصلي- 22 يوليو 2016
- 22 يوليو 2016
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
هناك
ملصق أصلي- 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
هناك
ملصق أصلي- 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
العودة إلى مشكلتك المحددة. لا أرى أخطاء الارتباط التي نشرتها في 'الإخراج الكامل' ولكن يبدو أن هذا مجرد أخطاء رابط عادية. كما هو الحال في الأنظمة الأساسية الأخرى ، يمكنك استخدام nm (أو Google) للعثور على مكان تعريف هذه الرموز ويبدو أنها موجودة في /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation بالنسبة لي (ولكن لدي mac القديم لذلك قد لا يكون صحيحًا بالنسبة لك).
لا يمكنك الارتباط بهذه المكتبة مباشرة. حاول إضافة الكود:
-framework CoreFoundation
إلى أعلام الرابط الخاص بك. هناك
ملصق أصلي- 22 يوليو 2016
- 27 يوليو 2016
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: مرحبًا يا رفاق ... لقد واجهت مشكلة مشابهة جدًا ... لكنني أستخدم الجهاز الطرفي للتجميع ... هل يمكن لأي شخص الرجاء المساعدة في كيفية القيام بنفس الحل في حالة الجهاز الطرفي؟env CPPFLAGS = '- I / home / foo / sw / include' LDFLAGS = '- L / home / foo / sw / lib /' ./configure
لدي ملف. / تكوين جاهز ويعمل بسلاسة ولكني أحصل على ffi ... الرموز ذات الصلة لم يتم العثور عليها ...
المشاركات الشعبية