Ở đó
Áp phích gốc- 22 thg 7, 2016
- 22 thg 7, 2016
Tôi đang làm việc trong một dự án bao gồm biên dịch ứng dụng Windows trên Mac. Ứng dụng được viết bằng C ++ với Qt. Nó bao gồm các thư viện và dự án chính:
http://hpics.li/d8bb2ec
Dự án sử dụng thư viện bên ngoài, ODA, để quản lý các tệp .dwg và .dgn.
Vấn đề là khi tôi biên dịch thư viện đầu tiên (MdCore), tôi gặp lỗi: không tìm thấy (các) biểu tượng cho kiến trúc x86_64.
Lúc đầu, tôi đã thêm -stdlib = libstdc ++ vào đối số qmake nhưng Qt đã tạo cho tôi các tệp 0 byte, vì vậy nó không phải là giải pháp.
Tôi đã thử phiên bản khác của ODA libary: 32bit, 64bit cho OSX 10.7 và 10.11. (Máy Mac của tôi chạy OSX 10.11)
Tôi đã thực hiện lệnh 'tệp' trên các thư viện của mình và đây là kết quả đầu ra:
:
.a: thư viện ngẫu nhiên kho lưu trữ ar hiện tại
.dylib:
Mach-0 nhị phân phổ quát với 2 kiến trúc
(dành cho kiến trúc x68_64): Thư viện chia sẻ 64-bit được liên kết động Mach-0 x86_64
(dành cho kiến trúc i386): Thư viện chia sẻ được liên kết động Mach-0 i386
Tôi đã cố gắng biên dịch trên 32 và 64bit nhưng nó không thay đổi bất cứ điều gì. Tôi đang gặp vấn đề này trong hai tuần, tôi không biết mình có thể làm gì
Tôi đã làm một chủ đề trên diễn đàn Qt có thể bạn có thể tìm thêm thông tin:
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
Nếu ai đó có manh mối hoặc giải pháp, tôi sẽ quan tâm
Cảm ơn ! NS
cqexbesd
- Ngày 4 tháng 6 năm 2009
- nước Đức
- 22 thg 7, 2016
Ở đó
Áp phích gốc- 22 thg 7, 2016
- 22 thg 7, 2016
17:34:10: Bắt đầu: '/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: Quá trình '/Users/developpement/Qt/5.7/clang_64/bin/qmake' đã kết thúc bình thường
17:34:10: Bắt đầu: '/ usr / bin / make'
... NS
cqexbesd
- Ngày 4 tháng 6 năm 2009
- nước Đức
- 24 Thg 07, 2016
Ở đó
Áp phích gốc- 22 thg 7, 2016
- 25 thg 7, 2016
Mã:
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
trong đầu ra biên dịch của tôi, tôi có những dòng đó một vài lần, nhưng chỉ dòng cuối cùng thay đổi (tên của tệp thay đổi)
Chỉnh sửa: đây là những dòng giống nhau nhưng có khoảng cách giữa chúng
Mã:
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
Lần sửa cuối bởi người kiểm duyệt: 25 tháng 7, 2016 NS cqexbesd
- Ngày 4 tháng 6 năm 2009
- nước Đức
- 25 thg 7, 2016
Ở đó
Áp phích gốc- 22 thg 7, 2016
- 26 thg 7, 2016
Đây là đầu ra đầy đủ (rất dài! 100.000 dòng): http://textup.fr/171939hC
Chỉnh sửa: Tôi đã biên dịch với lời nhắc nên tôi có nhiều dòng hơn trên đầu ra và những dòng cuối cùng rất thú vị:
Các ký hiệu không xác định cho kiến trúc x86_64:
Mã:
'_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
Chỉnh sửa lần cuối bởi người kiểm duyệt: 26 tháng 7, 2016 NS cqexbesd
- Ngày 4 tháng 6 năm 2009
- nước Đức
- 26 thg 7, 2016
Quay lại vấn đề cụ thể của bạn. Tôi không thấy lỗi liên kết mà bạn đã đăng trong 'đầu ra đầy đủ', tuy nhiên, đây có vẻ chỉ là lỗi trình liên kết thông thường. Như trên các nền tảng khác, bạn có thể sử dụng nm (hoặc Google) để tìm nơi các ký hiệu đó được xác định và nó dường như nằm trong /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation cho tôi (nhưng tôi có một mac cũ nên nó có thể không đúng với bạn).
Bạn sẽ không liên kết trực tiếp với thư viện đó. Thử thêm Mã:
-framework CoreFoundation
đến cờ trình liên kết của bạn. Ở đó
Áp phích gốc- 22 thg 7, 2016
- 27 thg 7, 2016
zibby
- 5 thg 2, 2019
- 5 thg 2, 2019
cqexbesd cho biết: Tôi nghĩ đầu ra 100K cho một bản dựng từ bất cứ thứ gì nhưng hệ thống phức tạp nhất có lẽ là dấu hiệu cho thấy mọi thứ đã sai ở đâu đó - nhưng đó là nhận xét chung hơn về tình trạng của ngành.VỚI
Quay lại vấn đề cụ thể của bạn. Tôi không thấy lỗi liên kết mà bạn đã đăng trong 'đầu ra đầy đủ', tuy nhiên, đây có vẻ chỉ là lỗi trình liên kết thông thường. Như trên các nền tảng khác, bạn có thể sử dụng nm (hoặc Google) để tìm nơi các ký hiệu đó được xác định và nó dường như nằm trong /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation cho tôi (nhưng tôi có một mac cũ nên nó có thể không đúng với bạn).
Bạn sẽ không liên kết trực tiếp với thư viện đó. Thử thêm Mã:-framework CoreFoundation
đến cờ trình liên kết của bạn.
zibby
- 5 thg 2, 2019
- 5 thg 2, 2019
tôi có một tệp ./configure đã sẵn sàng và nó chạy trơn tru nhưng tôi nhận được ffi ... liên quan 'không tìm thấy ký hiệu ...' và điều cần làm với trình liên kết khi tôi chạy thực hiện
okieiam
- Ngày 17 tháng 12 năm 2016
- 8 thg 2, 2019
zibbi đã nói: xin chào các bạn ... tôi đã gặp phải một vấn đề rất tương tự ... nhưng tôi đang sử dụng thiết bị đầu cuối để biên dịch ... ai đó có thể vui lòng giúp đỡ về cách tôi có thể thực hiện cùng một giải pháp trong trường hợp thiết bị đầu cuối không?vi CPPFLAGS = '- I / home / foo / sw / include' LDFLAGS = '- L / home / foo / sw / lib /' ./configure
tôi có một tệp ./configure đã sẵn sàng và nó chạy trơn tru nhưng tôi nhận được ffi ... liên quan 'không tìm thấy ký hiệu ...' và điều cần làm với trình liên kết khi tôi chạy thực hiện
Bài ViếT Phổ BiếN