Tôi đã cài đặt gcc 4.6. từ macports (để hỗ trợ C++ 0x). Nhưng khi tôi kiểm tra 'gcc --version`, nó đang hiển thị phiên bản cũ hơn. Làm thế nào để sử dụng gcc mới hơn được cài đặt bởi macports?Cách sử dụng gcc được cài đặt trong macports?
Trả lời
Tôi nhớ nó là một cái gì đó như g++-mp-4.6
. Tôi tin rằng nó đủ để thiết lập biến môi trường CXX
cho điều đó.
hoạt động. là có một cách để sử dụng nó theo mặc định để tôi không phải thay đổi tất cả các tập tin. – Nemo
Gắn nó vào '.bashrc'? –
Tại sao điều này được chấp nhận là câu trả lời hay nhất trong khi câu trả lời của Raim là câu trả lời đúng? –
Chỉ cần đảm bảo đường dẫn của macports đến trước trong số $PATH
của bạn. Hoặc sử dụng gcc-mp-4.6
hoặc thứ gì đó tương tự.
Bạn có thể kiểm soát liên kết tượng trưng trong /opt/local/bin/gcc
bằng cách sử dụng port select
. Bạn có thể xem phiên bản có sẵn bằng cách sử dụng port select --list gcc
. Bất cứ điều gì được liệt kê với tiền tố mp-as đề cập đến cổng riêng của MacPorts, gcc42 và llvm-gcc42 tham chiếu đến các trình biên dịch được Xcode của Apple cung cấp.
Ví dụ từ hệ thống của tôi:
$ port select --list gcc
Available versions for gcc:
gcc42
llvm-gcc42
mp-gcc45
none (active)
$ sudo port select --set gcc mp-gcc45
Password:
Selecting 'mp-gcc45' for 'gcc' succeeded. 'mp-gcc45' is now active.
Sau đó, một trong hai mở một cửa sổ terminal mới hoặc vấn đề hash -r
để làm cho bash nhận ra sự thay đổi.
Tôi đã làm điều này, và khi tôi gõ 'port select --list gcc', nó nói rằng mp-gcc47 đang hoạt động. Tuy nhiên, khi tôi làm 'gcc --version', nó vẫn nói nó đang sử dụng phiên bản 4.2 ... Tôi đã thử mở một terminal mới và gõ' hash -r'. Bất kỳ ý tưởng tại sao? – FrancesKR
Kiểm tra PATH của bạn, có thể có một số gcc khác (hoặc một liên kết tượng trưng) trước/opt/local/bin. Cũng có thể là một số bí danh hoặc hàm trong trình bao của bạn. Hãy thử 'type -a gcc' để xem bash nào dùng để tra cứu. – raimue
Khi tôi thực hiện 'loại -a gcc', tôi nhận được hai dòng:" gcc là/usr/bin/gcc gcc là/opt/local/bin/gcc ". Khi tôi in PATH của tôi, tôi nhận được ".:/Opt/local/var/macports:/usr/local/bin:/sw/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/hallamsoft:/opt/local/bin:/usr/local/git/bin:/usr/texbin:/usr/X11/bin ". Xin lỗi, tôi không hoàn toàn chắc chắn một trong những điều này có nghĩa là gì, nhưng tôi đã đặt Macports đầu tiên trong con đường của tôi. – FrancesKR
bản sao có thể có của [Cập nhật GCC trên OSX] (http://stackoverflow.com/questions/837992/update-gcc-on-osx) – birryree
Cũng xem [Sử dụng trình biên dịch bên phải] (https: //trac.macports .org/wiki/UsingTheRightCompiler) trên MacPorts wiki. – jww