אַחֵר

סמל/ים שגיאה של 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: 32bit, 64bit עבור OSX 10.7 ו-10.11. (ה-Mac שלי ב-OSX 10.11)
עשיתי את הפקודה 'קובץ' בספריות שלי וכאן הפלט:

:
.a: ספריית ארכיון אקראית הנוכחית

.dylib:
Mach-0 בינארי אוניברסלי עם 2 ארכיטקטורות
(עבור ארכיטקטורה x68_64): Mach-0 64-bit ספרייה משותפת מקושרת דינמית x86_64
(עבור ארכיטקטורה i386): ספרייה משותפת מקושרת דינמית של Mach-0 i386

ניסיתי לעשות קומפילציה ב-32 ו-64bit אבל זה לא משנה כלום. אני בבעיה הזו כבר שבועיים, אני לא יודע מה אני יכול לעשות

הכנתי נושא בפורום 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: Begin : '/Users/developpement/Qt/5.7/clang_64/bin/qmake' /Users/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG+==debug CONFIG+ x86_64 CONFIG+=qml_debug

17:34:10: התהליך '/Users/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
אני חושב שזה כאן:
קוד: |_+_|
בפלט הקומפילציה שלי יש לי את השורות האלה כמה פעמים, אבל רק השורה האחרונה משתנה (שם הקובץ משתנה)

עריכה: הנה אותן שורות אבל עם רווחים ביניהן
קוד: |_+_| נערך לאחרונה על ידי מנחה: 25 ביולי 2016 ג

cqexbesd

4 ביוני 2009
גֶרמָנִיָה
  • 25 ביולי 2016
צריך להיות גם קו מקשר - למשל. שורה שבה נקרא clang++ ללא הארגומנט -c. זה עשוי להיות שימושי אם אתה יכול להדביק קישור לכל הפלט למעשה.

שם

פוסטר מקורי
22 ביולי 2016
  • 26 ביולי 2016
אני לא חושב שאפשר לשנות טיעונים של המהדר. אני יכול לעשות את זה עם ההנחיה.
הנה הפלט המלא (הוא מאוד מאוד ארוך! 100,000 שורות): http://textup.fr/171939hC


עריכה: ערכתי עם ההנחיה כך שיש לי יותר שורות על הפלט, והשורות האחרונות מעניינות:


סמלים לא מוגדרים עבור ארכיטקטורה x86_64:

קוד: |_+_| נערך לאחרונה על ידי מנחה: 26 ביולי 2016 ג

cqexbesd

4 ביוני 2009
גֶרמָנִיָה
  • 26 ביולי 2016
אני חושב ש-100K פלט עבור בנייה מכל דבר מלבד המערכת המסובכת ביותר הוא כנראה סימן לכך שדברים השתבשו איפשהו - אבל זו הערה כללית יותר לגבי מצב התעשייה.

חזרה לבעיה הספציפית שלך. אני לא רואה את שגיאות הקישור שפרסמת ב'פלט המלא' אולם זה נראה רק כשגיאות קישור רגילות. כמו בפלטפורמות אחרות, אתה יכול להשתמש ב-nm (או ב-Google) כדי למצוא היכן הסמלים האלה מוגדרים ונראה שהוא נמצא ב- /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation עבורי (אבל יש לי מאוד מק ישן אז אולי זה לא נכון עבורך).

לא היית מקשר ישירות אל הספרייה הזו. נסה להוסיף קוד: |_+_| לדגלי המקשר שלך.

שם

פוסטר מקורי
22 ביולי 2016
  • 27 ביולי 2016
כן אתה צודק !! תודה רבה אני יכול להרכיב עכשיו! התמודדתי עם הבעיה הזו במשך 3 שבועות! תודה רבה ! עם

זיבי

5 בפברואר 2019
  • 5 בפברואר 2019
cqexbesd אמר: אני חושב ש-100K פלט עבור בנייה מכל דבר מלבד המערכת המסובכת ביותר הוא כנראה סימן לכך שדברים השתבשו איפשהו - אבל זו הערה כללית יותר לגבי מצב התעשייה.

חזרה לבעיה הספציפית שלך. אני לא רואה את שגיאות הקישור שפרסמת ב'פלט המלא' אולם זה נראה רק כשגיאות קישור רגילות. כמו בפלטפורמות אחרות, אתה יכול להשתמש ב-nm (או ב-Google) כדי למצוא היכן הסמלים האלה מוגדרים ונראה שהוא נמצא ב- /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation עבורי (אבל יש לי מאוד מק ישן אז אולי זה לא נכון עבורך).

לא היית מקשר ישירות אל הספרייה הזו. נסה להוסיף קוד: |_+_| לדגלי המקשר שלך.
עם

זיבי

5 בפברואר 2019
  • 5 בפברואר 2019
היי חברים... נתקלתי בבעיה מאוד דומה...אבל אני משתמש בטרמינל כדי להדר... מישהו יכול בבקשה לעזור איך אני יכול לעשות את אותו פתרון במקרה של טרמינל?

יש לי קובץ ./configure מוכן והוא פועל בצורה חלקה אבל אני מקבל ffi... 'סמלים לא נמצאו...' קשורים ומשהו שקשור למקשר כשאני מפעיל make

אוקייאם

17 בדצמבר 2016
  • 8 בפברואר 2019
zibbi אמר: היי חברים... נתקלתי בבעיה מאוד דומה...אבל אני משתמש בטרמינל כדי להדר... מישהו יכול בבקשה לעזור איך אני יכול לעשות את אותו פתרון במקרה של טרמינל?

יש לי קובץ ./configure מוכן והוא פועל בצורה חלקה אבל אני מקבל ffi... 'סמלים לא נמצאו...' קשורים ומשהו שקשור למקשר כשאני מפעיל make
env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure