Tôi gặp sự cố khi xác nhận sự hiểu biết của mình về cách hoạt động của đường nối khi biên dịch với chuỗi công cụ cụ thể mà tôi đang sử dụng (mặc dù tôi nghĩ đây là câu hỏi chung áp dụng cho việc biên dịch tổng quát).Rpath-link được sử dụng như thế nào trong quá trình biên dịch chéo?
Khi tôi hãy nhìn vào những gì cờ được truyền cho trình biên dịch và mối liên kết khi xây dựng các thư viện và các ứng dụng, tôi thấy sau đây truyền cho các mối liên kết:
-Wl,-rpath-link,/home/Dev/env/sys/crosscompiletoolchain/armle-v7/lib/
Vì vậy, đây là một con đường được nhúng vào chia sẻ thư viện được xây dựng cho thiết bị đích trên máy phát triển của tôi. Điều này có ý nghĩa bởi vì tôi sẽ làm tất cả các liên kết cuối cùng trên máy phát triển trước khi triển khai vào thiết bị. Khi tôi cuối cùng đã triển khai thiết bị mặc dù (ví dụ: ứng dụng libs + dùng chung), các libs chia sẻ sẽ không có liên kết đường dẫn vô ích?
Thư viện và ứng dụng được xây dựng dường như hoạt động tốt trên mục tiêu bất kể và nếu tôi phải đoán tôi sẽ nói vì ứng dụng này có môi trường do hệ điều hành thiết bị có/lib/là một trong đường dẫn tìm kiếm thư viện mặc định của nó (đường dẫn rpath chỉ xác định tập hợp các thư mục đầu tiên được tìm kiếm). Điều này có đúng không?