2014-05-17 14 views
9

tôi vừa cài đặt gcc 4.9 bằng liên kết here và đó là liên kết rất tốt. Nhưng tôi chỉ có một vấn đề mà tôi không muốn cố gắng không để mess up -> liên kết các thư viện và các biến đường dẫn.cài đặt GCC-4.9 không có gốc - thêm đường dẫn và mã nhị phân và thêm

chúng tôi có một cụm ở trường đại học và tôi đã cài đặt nó trong thư mục chính của tôi (không có thư mục gốc). Bây giờ nhà tôi/thư mục chứa thư mục này, nơi tất cả các thư mục gcc là:

bin 
include 
lib 
lib64 
libexec 
share 

Tất cả những gì làm tôi phải làm gì để trỏ đến g ++/gcc nhị phân trong thư mục bin với thêm liên kết? Ví dụ, đặt ld_library_path, đặt đường dẫn nhị phân (xuất PATH = /home/asdf/gcc4.9/bin:$PATH). vv ..

Bất kỳ ai cũng có thể cung cấp chi tiết về tất cả những gì cần làm để sử dụng gcc/g ++ 4.9 (do tôi cài đặt) bằng cách bỏ qua phiên bản cũ hơn của gcc được cài đặt gốc.

Tôi có phải thêm lib và lib64 vào ld_library_paths không? Tôi có phải sử dụng "" thay vì <> để bao gồm các tệp (ví dụ: # inlcude "set" hoặC#include và nó bao gồm từ gcc4.9 chứ không phải từ cũ) Hoặc cung cấp rõ ràng đường dẫn bao gồm bằng cách sử dụng -I

Bất kỳ đề xuất/thảo luận/ý kiến ​​được chào đón. Tôi biết điều này có thể được đánh dấu là trùng lặp, nhưng nó sẽ thực sự hữu ích cho tất cả mọi người ngoài kia, những người muốn thử gcc-4.9 mới với C++ 11 mà không làm rối loạn các biến môi trường.

PS: Tôi không hỏi cách xuất hoặc đặt biến môi trường. Tôi yêu cầu tất cả tất cả các biến môi trường là bắt buộc để sử dụng phiên bản gcc không phải gốc của mình chứ không phải là phiên bản cũ hơn của root và không lộn xộn các đường dẫn ldđể trong suốt thời gian chạy.

thanks !!

+0

Có thể phù hợp hơn với Unix và Linux. – ConcernedOfTunbridgeWells

Trả lời

8

Nếu bạn xây dựng trình biên dịch của bạn với --prefix=/home/myname/gcc4.9 (điều chỉnh để phù hợp với hệ thống của bạn, rõ ràng), sau đó trình biên dịch nên "biết" rằng bao gồm đường dẫn, vv

Tất cả bạn cần vượt ra ngoài đó là để đảm bảo đường dẫn của bạn có /home/myname/gcc4.9/bin trước /usr/bin hoặc bất cứ nơi nào gcc khác của bạn được cài đặt và mọi thứ sẽ hoạt động như bình thường. Trên máy tính của tôi, tôi có gcc 4.8.2 được cài đặt từ bản dựng của riêng tôi và gcc 4.6.3 từ trình cài đặt Linux cho gcc (vì nó là một bản phân phối khá cũ). Và miễn là tôi có các đường dẫn được đặt theo thứ tự đúng, nó hoạt động "tự động".

Bạn sẽ cần đặt LD_LIBRARY_PATH, nhưng bao gồm đường dẫn và thư viện tĩnh phải được xử lý bằng chính gcc.

+0

@ Mats: vâng, tôi đã xây dựng trình biên dịch của mình với tiền tố ở trên mà bạn đã đề cập. Vì vậy, tất cả những gì tôi phải làm là đặt ld_library_path = /home/myname/gcc4.9/lib và /home/myname/gcc4.9/lib64 ... và đường dẫn cho thư mục bin là /home/myname/gcc4.9/bin .. và điều đó sẽ ổn chứ? Cụm từ của chúng tôi có hệ thống mô-đun thông qua đó gcc được tải, do đó, thay vào đó, (1) không tải mô-đun và (2) chỉ cần đặt các đường dẫn ở trên vào .bashrc và nguồn nó ... – pugs

+0

Có, "không tải mô-đun" và đảm bảo đường dẫn của bạn bắt đầu bằng vị trí gcc cục bộ của bạn, trước/usr/bin (nói cách khác là 'xuất PATH =/home/myname/gcc/bin: $ {PATH} 'và tương tự cho' LD_LIBRARY_PATH'. –

Các vấn đề liên quan