Như @Tommy đã đề xuất, bạn nên sử dụng update-alternatives
.
Nó chỉ định các giá trị cho mọi phần mềm của một họ, để nó xác định thứ tự mà các ứng dụng sẽ được gọi.
Nó được sử dụng để duy trì các phiên bản khác nhau của cùng một phần mềm trên một hệ thống. Trong trường hợp của bạn, bạn sẽ có thể sử dụng một số từ gcc
và một sẽ được ưu tiên.
Để tìm ra các ưu tiên hiện tại của gcc, hãy nhập lệnh được chỉ ra trong nhận xét của @ tripleee:
update-alternatives --query gcc
Bây giờ, hãy lưu ý mức độ ưu tiên được quy cho gcc-4.4
bởi vì bạn sẽ cần cấp độ ưu tiên cao hơn cho gcc-3.3
.
Để thiết lập các lựa chọn thay thế của bạn, bạn nên có một cái gì đó như thế này (giả sử gcc
cài đặt của bạn được đặt tại /usr/bin/gcc-3.3
và gcc-4.4
mức độ ưu tiên của nó nhỏ hơn 50) :
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.3 50
--biên tập--
Cuối cùng, bạn cũng có thể sử dụng giao diện tương tác của update-alternatives
để dễ dàng chuyển đổi giữa các phiên bản. Nhập update-alternatives --config gcc
được yêu cầu để chọn phiên bản gcc bạn muốn sử dụng trong số những phiên bản đã cài đặt.
- sửa 2 -
Bây giờ, để khắc phục biến môi trường CXX trên toàn hệ thống, bạn cần đặt dòng được chỉ ra bởi @ DipSwitch's trong .bashrc
tệp của mình (điều này sẽ chỉ áp dụng thay đổi cho người dùng của bạn, theo ý kiến của tôi là an toàn hơn):
echo 'export CXX=/usr/bin/gcc-3.3' >> ~/.bashrc
CXX=gcc-3.3
hoặcexport CXX=gcc-3.3
và sau đó,make
tuy nhiên, khi bạn thay đổi nó trên toàn cầu,update-alternatives
nó sẽ sử dụng gcc-3.3 và điều này là không cần thiết.