อื่น

ไม่พบสัญลักษณ์ข้อผิดพลาด Mac สำหรับสถาปัตยกรรม x86_64

ที่นั่น

โปสเตอร์ต้นฉบับ
22 ก.ค. 2559
  • 22 ก.ค. 2559
สวัสดีทุกคน,

ฉันกำลังทำงานในโครงการที่ประกอบด้วยการคอมไพล์แอปพลิเคชัน Windows บน Mac แอปพลิเคชันเขียนด้วย C ++ พร้อม Qt ประกอบด้วยห้องสมุดและโครงการหลัก :
http://hpics.li/d8bb2ec
โปรเจ็กต์ใช้ไลบรารีภายนอก ODA เพื่อจัดการไฟล์ .dwg และ .dgn
ปัญหาคือเมื่อฉันรวบรวมไลบรารีแรก (MdCore) ฉันได้รับข้อผิดพลาด: ไม่พบสัญลักษณ์สำหรับสถาปัตยกรรม x86_64
ตอนแรกฉันเพิ่ม -stdlib=libstdc++ ให้กับอาร์กิวเมนต์ qmake แต่ Qt สร้างไฟล์ 0 ไบต์ให้ฉัน ดังนั้นจึงไม่ใช่วิธีแก้ปัญหา
ฉันได้ลองใช้ ODA libary เวอร์ชันอื่นแล้ว: 32 บิต, 64 บิตสำหรับ OSX 10.7 และ 10.11 (Mac ของฉันใช้ OSX 10.11)
ฉันสร้างคำสั่ง 'file' ในไลบรารีของฉันและนี่คือผลลัพธ์:

:
.a: ไลบรารีสุ่มเก็บถาวร ar ปัจจุบัน

.dylib:
ไบนารีสากล Mach-0 พร้อม 2 สถาปัตยกรรม
(สำหรับสถาปัตยกรรม x68_64): Mach-0 64 บิตที่แชร์ไลบรารีที่แชร์แบบไดนามิก 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 มิ.ย. 2552


เยอรมนี
  • 22 ก.ค. 2559
ฉันไม่รู้อะไรเกี่ยวกับ qmake แต่บางทีคุณควรโพสต์คำสั่งคอมไพเลอร์ของคุณเพื่อคอมไพล์และอาจมีบางคนสามารถเห็นว่ามีอะไรผิดปกติ

ที่นั่น

โปสเตอร์ต้นฉบับ
22 ก.ค. 2559
  • 22 ก.ค. 2559
สวัสดี cqexbesd ขอบคุณสำหรับคำตอบของคุณ นี่คือจุดเริ่มต้นของบิลด์เอาต์พุต:

17:34:10: เริ่มต้น : '/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 มิ.ย. 2552
เยอรมนี
  • 24 ก.ค. 2559
สิ่งที่ฉันหมายถึงคือ qmake เป็นเพียงเครื่องมือสำหรับการเรียกคอมไพเลอร์ คุณหาบรรทัดที่ qmake เรียกคอมไพเลอร์ได้ไหม สมมุติว่ามันเรียกไม่ถูกต้องหรือสิ่งต่างๆ จะทำงานได้ อย่างน้อยก็มีจุดเริ่มต้น

ที่นั่น

โปสเตอร์ต้นฉบับ
22 ก.ค. 2559
  • 25 ก.ค. 2559
ฉันคิดว่ามันอยู่ที่นี่:
รหัส: |_+_|
ในผลลัพธ์การคอมไพล์ของฉัน ฉันมีบรรทัดเหล่านั้นหลายครั้ง แต่เปลี่ยนเฉพาะบรรทัดสุดท้ายเท่านั้น (ชื่อของไฟล์เปลี่ยนไป)

แก้ไข: นี่คือบรรทัดเดียวกัน แต่มีช่องว่างระหว่างพวกเขา
รหัส: |_+_| แก้ไขล่าสุดโดยผู้ดูแล: 25 ก.ค. 2016

cqexbesd

4 มิ.ย. 2552
เยอรมนี
  • 25 ก.ค. 2559
ควรมีเส้นเชื่อมโยงเช่น บรรทัดที่เรียก clang++ โดยไม่มีอาร์กิวเมนต์ -c อาจเป็นประโยชน์หากคุณสามารถวางลิงก์ไปยังผลลัพธ์ทั้งหมดได้

ที่นั่น

โปสเตอร์ต้นฉบับ
22 ก.ค. 2559
  • 26 ก.ค. 2559
ฉันไม่คิดว่ามันเป็นไปได้ที่จะเปลี่ยนอาร์กิวเมนต์ของคอมไพเลอร์ ฉันอาจจะทำมันด้วยพรอมต์
นี่คือผลลัพธ์แบบเต็ม (มันยาวมาก ! 100.000 บรรทัด) : http://textup.fr/171939hC


แก้ไข : ฉันคอมไพล์ด้วยพรอมต์ดังนั้นฉันจึงมีบรรทัดเพิ่มเติมในผลลัพธ์และบรรทัดสุดท้ายก็น่าสนใจ :


สัญลักษณ์ที่ไม่ได้กำหนดสำหรับสถาปัตยกรรม x86_64:

รหัส: |_+_| แก้ไขล่าสุดโดยผู้ดูแล: 26 ก.ค. 2016

cqexbesd

4 มิ.ย. 2552
เยอรมนี
  • 26 ก.ค. 2559
ฉันคิดว่าเอาต์พุต 100K สำหรับบิลด์จากอะไรก็ได้ แต่ระบบที่ซับซ้อนที่สุดน่าจะเป็นสัญญาณว่ามีบางอย่างผิดพลาด - แต่นั่นเป็นความคิดเห็นทั่วไปเกี่ยวกับสถานะของอุตสาหกรรม

กลับไปที่ปัญหาเฉพาะของคุณ ฉันไม่เห็นข้อผิดพลาดในการเชื่อมโยงที่คุณโพสต์ใน 'เอาต์พุตทั้งหมด' แต่ดูเหมือนว่าจะเป็นข้อผิดพลาดของตัวเชื่อมโยงทั่วไป เช่นเดียวกับแพลตฟอร์มอื่นๆ คุณสามารถใช้ nm (หรือ Google) เพื่อค้นหาตำแหน่งที่กำหนดสัญลักษณ์เหล่านั้นและดูเหมือนว่าจะอยู่ใน /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation สำหรับฉัน (แต่ฉันมี mac เก่าดังนั้นมันอาจไม่จริงสำหรับคุณ)

คุณจะไม่เชื่อมโยงกับห้องสมุดนั้นโดยตรง ลองเพิ่มรหัส: |_+_| ไปยังแฟล็กลิงเกอร์ของคุณ

ที่นั่น

โปสเตอร์ต้นฉบับ
22 ก.ค. 2559
  • 27 ก.ค. 2559
ใช่คุณถูก !! ขอบคุณมากฉันสามารถรวบรวมตอนนี้! ฉันกำลังประสบปัญหานี้เป็นเวลา 3 สัปดาห์! ขอบคุณมาก ! กับ

zibby

5 ก.พ. 2019
  • 5 ก.พ. 2019
cqexbesd กล่าวว่า: ฉันคิดว่าเอาต์พุต 100K สำหรับบิลด์จากอะไรก็ได้ แต่ระบบที่ซับซ้อนที่สุดน่าจะเป็นสัญญาณว่ามีสิ่งผิดปกติอยู่ที่ไหนสักแห่ง - แต่นั่นเป็นความคิดเห็นทั่วไปเกี่ยวกับสถานะของอุตสาหกรรม

กลับไปที่ปัญหาเฉพาะของคุณ ฉันไม่เห็นข้อผิดพลาดในการเชื่อมโยงที่คุณโพสต์ใน 'เอาต์พุตทั้งหมด' แต่ดูเหมือนว่าจะเป็นข้อผิดพลาดของตัวเชื่อมโยงทั่วไป เช่นเดียวกับแพลตฟอร์มอื่นๆ คุณสามารถใช้ nm (หรือ Google) เพื่อค้นหาตำแหน่งที่กำหนดสัญลักษณ์เหล่านั้นและดูเหมือนว่าจะอยู่ใน /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation สำหรับฉัน (แต่ฉันมี mac เก่าดังนั้นมันอาจไม่จริงสำหรับคุณ)

คุณจะไม่เชื่อมโยงกับห้องสมุดนั้นโดยตรง ลองเพิ่มรหัส: |_+_| ไปยังแฟล็กลิงเกอร์ของคุณ
กับ

zibby

5 ก.พ. 2019
  • 5 ก.พ. 2019
สวัสดี ... ฉันพบปัญหาที่คล้ายกันมาก ... แต่ฉันใช้เทอร์มินัลเพื่อคอมไพล์ ... ใครก็ได้โปรดช่วยด้วยว่าฉันจะทำวิธีแก้ปัญหาเดียวกันในกรณีของเทอร์มินัลได้อย่างไร

ฉันมีไฟล์ ./configure พร้อมและทำงานได้อย่างราบรื่น แต่ฉันได้รับ ffi... ที่เกี่ยวข้อง 'ไม่พบสัญลักษณ์ ...' และสิ่งที่ต้องทำกับลิงเกอร์เมื่อฉันเรียกใช้

okieiam

17 ธ.ค. 2559
  • 8 ก.พ. 2019
zibbi กล่าวว่า: สวัสดี ... ฉันพบปัญหาที่คล้ายกันมาก ... แต่ฉันใช้เทอร์มินัลเพื่อรวบรวม ... ใครก็ได้โปรดช่วยด้วยว่าฉันจะทำวิธีแก้ปัญหาเดียวกันในกรณีของเทอร์มินัลได้อย่างไร

ฉันมีไฟล์ ./configure พร้อมและทำงานได้อย่างราบรื่น แต่ฉันได้รับ ffi... ที่เกี่ยวข้อง 'ไม่พบสัญลักษณ์ ...' และสิ่งที่ต้องทำกับลิงเกอร์เมื่อฉันเรียกใช้
env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure