Возможно ли иметь несколько версий gcc, установленных в системе unix? Если да, как определить, какие все версии установлены? Кроме того, можно ли указать во время выполнения, какую версию gcc использовать?Как указать версию gcc во время выполнения?
ответ
Вот шаг за шагом, который работает на Linux, и будет возможно работать над unix.
Сначала проверьте, у вас есть gcc
доступны:
[email protected] ~ $ gcc
gcc: fatal error: no input files
compilation terminated.
Yep. Не понравилось то, что я не поставлял ничего для компиляции.
Если у вас есть что-то вроде no command gcc found
или command or file not recognised: gcc
, возможно, у вас может возникнуть проблема.
Теперь, найти где что gcc
является:
[email protected] ~ $ which gcc
/usr/bin/gcc
Великого. Это в /usr/bin/gcc
, но это не говорит нам об альтернативных версиях.
Давайте выясним немного о том, что:
[email protected] ~ $ ls -l /usr/bin/gcc
lrwxrwxrwx 1 root root 7 Mar 28 2013 /usr/bin/gcc -> gcc-4.7
На моей машине (Linux Mint), что»показать это показывает символическую ссылку. Это означает, что когда я запускаю команду gcc
, она работает /usr/bin/gcc-4.7
Ok. Я предполагаю, что это, как правило, в /usr/bin
, поэтому, позволяет увидеть, если есть какие-либо другие:
[email protected] ~ $ ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root 7 Mar 28 2013 /usr/bin/gcc -> gcc-4.7
-rwxr-xr-x 1 root root 275952 Jul 3 2012 /usr/bin/gcc-4.5
-rwxr-xr-x 1 root root 578808 Sep 22 2012 /usr/bin/gcc-4.7
-rwxr-xr-x 1 root root 22832 Sep 22 2012 /usr/bin/gcc-ar-4.7
-rwxr-xr-x 1 root root 22832 Sep 22 2012 /usr/bin/gcc-nm-4.7
-rwxr-xr-x 1 root root 22832 Sep 22 2012 /usr/bin/gcc-ranlib-4.7
-rwxr-xr-x 1 root root 220968 Oct 9 2012 /usr/bin/gccxml
-rwxr-xr-x 1 root root 8606464 Oct 9 2012 /usr/bin/gccxml_cc1plus
так получается, у меня есть GCC версии 4.7 и 4.5 на моей машине. Я не знаю, что другие.
Вы можете указать номер версии, отправив полный путь:
[email protected] ~ $ gcc --version
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[email protected] ~ $ /usr/bin/gcc-4.5 --version
gcc-4.5 (Ubuntu/Linaro 4.5.4-1ubuntu2) 4.5.4
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[email protected] ~ $ /usr/bin/gcc-4.7 --version
gcc-4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Альтернативой, и я рекомендую вам DO NOT это сделать, это использовать find
. (будьте осторожны: на общей машине это не обязательно хорошие манеры).
find/-name "gcc*"
Это будет искать все файлы, начинающиеся с gcc на вашем компьютере. Он будет сканировать весь диск, поэтому потребуется некоторое время, и вы будете влиять на производительность для всех остальных пользователей на вашей системе (которые, как вы сказали, «unix» и «University Server» могут поставляться с воздействие).
Да, это довольно часто, чтобы иметь несколько версий GCC установлен, обычно называемый gcc-версия. Например, на моей машине у меня есть gcc-4.4
, gcc-4.5
и gcc-4.6
. Обычно вы можете видеть, какие версии вы установили, набрав gcc-
tab - используя автозаполнение оболочки, чтобы сообщить вам, какие версии доступны.
Спасибо @Chris. Он работал на моей локальной машине. Я на самом деле пытаюсь проверить это на своем университетском сервере, и кажется, что он был, возможно, отключен, потому что он там не работает. Не могли бы вы узнать еще один способ сделать это? – mindreader
- 1. Проверить версию GCC во время выполнения
- 2. Как определить версию модификации во время выполнения?
- 3. Как указать путь [DllImport] во время выполнения?
- 4. Как указать входы во время выполнения
- 5. как указать тип genric во время выполнения
- 6. Как указать версию библиотеки для использования во время ссылки?
- 7. Перемещение функций во время выполнения - gcc
- 8. Какао: получить версию Дарвина во время выполнения
- 9. Получить версию jar во время выполнения
- 10. Проверьте версию iOS во время выполнения?
- 11. Определить версию Spring во время выполнения
- 12. Определить версию Python во время выполнения
- 13. Получить версию node.js во время выполнения
- 14. Получить Maven версию артефакта во время выполнения
- 15. указать подробности Select-Object во время выполнения
- 16. Как проверить версию libstdC++, а не GCC, во время компиляции?
- 17. Как проверить во время компиляции текущую версию GCC?
- 18. Как указать, какую платформу .NET использовать во время выполнения
- 19. MSYS2 указать версию mingw32 или mingw64 gcc
- 20. в gcc Как заставить разрешение символа во время выполнения
- 21. Как проверить версию Mac OS X во время выполнения
- 22. Как получить версию пользовательской функции во время выполнения?
- 23. Как я могу получить версию jruby во время выполнения?
- 24. Как преобразовать строку в кавычную версию себя во время выполнения?
- 25. Как получить минимальную версию sdk (minSdkVersion) во время выполнения?
- 26. Как получить определенную версию во время выполнения для vs.net
- 27. Как плагин Maven может открыть свою версию во время выполнения?
- 28. Как получить версию фрагмента системы расслоения во время выполнения
- 29. Как получить версию компилятора haxe во время выполнения
- 30. Как проверить библиотеку поддержки/версию библиотеки AppCompat во время выполнения?
Да. Поставьте полный путь к версии, которую вы хотите использовать! – devnull
Спасибо за ответ. Как проверить, установлены ли в первую очередь несколько версий? – mindreader
Вы можете использовать 'find'. – devnull