我已经在ubuntu 18(默认gcc-7)上安装了gcc-6,因为cuda工具包9需要此特定版本的编译器。我在使用gcc-6或gcc-7时用它来替代
sudo update-alternatives --install / usr / bin / gcc gcc / usr / bin / gcc-7 100
-从属/ usr / bin / g ++ g ++ / usr / bin / g ++-7
sudo update-alternatives --install / usr / bin / gcc gcc / usr / bin / gcc-6 50
-从属/ usr / bin / g ++ g ++ / usr / bin / g ++-6
然后我可以在两者中选择一个作为默认编译器
sudo update-alternatives --config gcc
替代gcc有2个选择(提供/ usr / bin / gcc)。
选择路径优先状态
* 0 / usr / bin / gcc-7 100自动模式
1 / usr / bin / gcc-6 50手动模式
2 / usr / bin / gcc-7 100手动模式
按Enter保留当前选择[*],或键入选择编号:0
我正在选择[0],表示gcc7。然后我检查版本,但仍然是gcc6
gcc --version
gcc(Ubuntu 6.5.0-2ubuntu1〜18.04)6.5.0 20181026
知道为什么它不起作用吗?
答案 0 :(得分:0)
我解决了。使用cuda时,要注意的是,在cuda文件夹中,您具有指向gcc的符号链接。这个链接每次都会把我交给gcc-6,而不是gcc-7。我更改了符号链接,首先将其从cuda文件夹中删除,然后创建一个直接进入gcc-7的链接。就我而言
sudo rm /usr/local/cuda-9.0/bin/gcc
sudo rm /usr/local/cuda-9.0/bin/g ++
sudo ln -s / usr / bin / gcc-7 /usr/local/cuda-9.0/bin/gcc
sudo ln -s / usr / bin / g ++-7 /usr/local/cuda-9.0/bin/g++
现在编译器是gcc-7,而不是gcc-6。
我原本以为gcc-7的cuda表现不好,但是一切都很好。