Tôi đang viết một thư viện đa nền tảng đơn giản sử dụng OpenMP nhưng tôi không thể tìm ra cách thử nghiệm nó trong một ứng dụng iPhone.
Tôi đang chạy OS X, với GCC 4.7, tôi biên dịch nó dưới dạng thư viện tĩnh, tôi cũng đã liên kết nó với libgomp.a
và thêm nó vào ứng dụng thử nghiệm của tôi trong Xcode. App được xây dựng mà không cần bất kỳ lỗi hoặc cảnh báo nhưng khi tôi chạy nó trong trình giả lập iPhone tất cả tôi nhận được là thông báo lỗi này:Biên dịch thư viện tĩnh cho iOS sử dụng OpenMP
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
Referenced from: /opt/local/lib/gcc47/i386/libgomp.1.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___emutls_get_address
Referenced from: /opt/local/lib/gcc47/i386/libgomp.1.dylib
Expected in: /usr/lib/libSystem.B.dylib
tôi đọc rằng có một lỗi trong phiên bản trước của GCC với ___emutls_get_address
, nhưng nó phải là cố định ngay bây giờ. Bạn có bất kỳ ý tưởng gì có thể sai?
Bạn đã liên kết các tệp tiêu đề của mình chưa? Có thể frating một khuôn khổ "giả" như Trân trọng bưu thiếp và những người khác làm sẽ giúp ... – Ondrej