Рейтинг:0

Я использую Ubuntu 20.04 LTS, пытаясь перейти с GCC 9.4 на gcc 10 или выше.

флаг cn

sudo apt-get установить gcc-10 g++-10:

Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
g++-10 уже является самой новой версией (10.3.0-1ubuntu1~20.04).
gcc-10 уже является самой новой версией (10.3.0-1ubuntu1~20.04).
0 обновлено, 0 установлено заново, 0 удалено и 31 не обновлено.
<pre>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion=&apos;Ubuntu 9.4.0-1ubuntu1~20.04&apos; --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-yTrUTS/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)</pre>

Я новичок в Linux, так что если вам нужно что-то еще, лаймк

Nmath avatar
флаг ng
`31 не обновлен`. Ваша система не обновлена. Всегда запускайте `sudo apt update` перед любой другой командой в `apt`, и вы должны выполнять обновления с помощью `sudo apt upgrade`, прежде чем пытаться установить новое программное обеспечение. Кроме того, при предоставлении нам вывода команд обязательно укажите точную команду и весь вывод. Не сообщайте нам по крупицам, потому что вы можете упустить важную диагностическую информацию.
Рейтинг:1
флаг us

Введите команду gcc-10 вместо gcc использовать gcc-10.

В качестве альтернативы вы можете использовать команду sudo update-alternatives --config gcc выбирать gcc-10 в качестве gcc по умолчанию. Точно так же используйте sudo update-alternatives --config g++ для настройки версии g++ по умолчанию.

флаг cc
Найдите на этом сайте «обновление сломало мой компьютер», чтобы узнать о некоторых последствиях замены версии gcc по умолчанию. Измените пользовательское значение gcc по умолчанию с помощью другого механизма, например псевдонима или ссылки gcc в $HOME/bin, чтобы обновление не перекомпилировало видеодрайвер.
флаг us
@ubfan1 Зачем обновлению использовать gcc для компиляции чего-либо? Не стесняйтесь редактировать мой ответ.
Рейтинг:0
флаг cc

Для любого выпуска Ubuntu компилятор gcc по умолчанию выбирается по ссылке, такой как как /usr/bin/gcc, который ссылается на фактический исполняемый файл компилятора, возможно, через другие ссылки: /usr/bin/gcc -> gcc-9 -> x86_64-linux-gnu-gcc-9 Это проверенный/протестированный компилятор, используемый для выпуска, и независимо от того, какую версию компилятора вы выберете для собственного использования, не рекомендуется изменять системные настройки по умолчанию. Обновлениям ядра может потребоваться перестроить проприетарные видеомодули из бинарных больших двоичных объектов, предоставленных поставщиком, и этот процесс протестирован с помощью компилятора по умолчанию. Возможно, более поздний компилятор будет работать, а может и нет, в результате чего вы загрузите последнее ядро ​​без соответствующего проприетарного видеомодуля, что вызовет такие проблемы, как низкое разрешение (из-за другого видеодрайвера) или даже черный экран. Может быть установлено несколько версий компилятора, но эти установки не меняйте ссылку /usr/bin/gcc. Не следует вручную изменять эту ссылку, и вы не должны использовать альтернативы обновления, чтобы подсунуть новый компилятор в.

Пользователь может настроить свою собственную среду для запуска любого установленного им компилятора. любым количеством способов. В случае 20.04 с компилятором по умолчанию 9.4 и вы хотите запустить компилятор 10, вы можете:

  1. Вызвать gcc-10 по имени. Используйте это для управления несколькими проектами, для каждого из которых требуется отдельный компилятор. Имя может быть встроено в файлы определения проекта, например в make-файле GCC=gcc-10

  2. Добавьте псевдоним в ваш файл .bashrc (или его эквивалент, если не запущен bash). псевдоним gcc="/usr/bin/gcc-10" Таким образом, все ваши проекты получат 10-ю версию компилятора с вызов gcc.

  3. Добавьте ссылку с именем gcc в корзину вашего домашнего каталога на выбранную версию компилятора. Это предполагает, что ваш $HOME/bin находится раньше в вашем PATH, чем /usr/bin или /bin. Опять же, это позволит gcc везде вызывать выбранный вами компилятор.

4) конкретные файлы конфигурации проекта могут устанавливать псевдонимы или ссылки в каталогах bin проекта для управления тем, что вызывает gcc.

Выберите механизм, который лучше всего соответствует вашим потребностям.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.