Tóm tắt
Tôi muốn chạy ứng dụng được biên dịch chéo của tôi đối với các thư viện 10.5. Có một biến môi trường cho phép điều này hoạt động không?Chạy các ứng dụng chống lại một SDK khác trong OS X?
Phiên bản dài hơn
Tôi đã biên soạn ứng dụng OS X C++ cho mục tiêu 10.5 trên máy chủ 10.6. Nó biên dịch tốt. Ứng dụng đã biên dịch được liên kết với các thư viện như /usr/lib/libstdc++.6.dylib
. Khi tôi chạy nó trên hệ thống của mình, nó sẽ sử dụng phiên bản 'máy chủ' của các thư viện, là 10.6. Tôi muốn thử nghiệm nó với các phiên bản 10.5, tất cả đều nằm trong thư mục `/Developer/SDKs/MacOSX10.5.sdk. Làm thế nào để tôi làm điều này?
Tôi đã thử nhiều hương vị khác nhau của DYLD_LIBRARY_PATH, DYLD_ROOT_PATH, v.v., như documented in the manual, nhưng tôi chưa quản lý để làm cho nó hoạt động.
câu hỏi Rất tốt, tôi không có một câu trả lời, rất thích nghe một. – jv42
Cũng không biết câu trả lời, nhưng C++ có thể dễ dàng được biên dịch dưới dạng nhị phân * tĩnh * - nó sẽ bao gồm tất cả các thư viện trong một tệp thực thi độc lập. 'g ++ -static' – Mikhail