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ừ gccvà 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.4bở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ử gcccài đặt của bạn được đặt tại /usr/bin/gcc-3.3và gcc-4.4mứ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 .bashrctệ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.3hoặcexport CXX=gcc-3.3và sau đó,maketuy nhiên, khi bạn thay đổi nó trên toàn cầu,update-alternativesnó sẽ sử dụng gcc-3.3 và điều này là không cần thiết.