Bất kỳ ai quyết định tạo mã thông báo $ ORIGIN đều là một tên khốn xấu xa xứng đáng có vị trí đặc biệt trong lập trình địa ngục. Vì '$' là một ký tự đặc biệt đối với bash và các ngôn ngữ kịch bản khác như tạo, nó xoay mọi thứ trừ khi cẩn thận thoát ra. Thậm chí tệ hơn, tùy thuộc vào môi trường xây dựng bạn đang sử dụng, các chi tiết cụ thể về cách thoát đúng cách có thể sẽ thay đổi.
Trong bash, bạn cần phải dính vào một dấu gạch chéo ở phía trước của $:
-Wl,-R\$ORIGIN
Code :: Blocks dường như cũng xử lý các $ đặc biệt. Sau đó, bất kỳ bộ điều khiển con nào Code :: Blocks gửi lệnh để xử lý dấu gạch chéo ngược là đặc biệt. Vì vậy, cả dấu gạch chéo ngược và $ cần phải được tăng gấp đôi để thoát khỏi đúng cách. Do đó, trong Code :: thiết lập mối liên kết Blocks, bạn cần phải xác định:
-Wl,-R\\$$ORIGIN
... mà kết quả đầu ra:
-Wl,-R\\$ORIGIN
... để xây dựng nhật ký, nhưng vỏ thực sự được gửi:
-Wl,-R\$ORIGIN
... như đã đề cập ở trên tạo ra kết quả mong muốn.
Thật là một nỗi đau.
Có liên quan, nhưng không chỉ định Mã :: Khối: http://stackoverflow.com/q/6324131/257299 – kevinarpe