Что может быть причиной возникновения этой ошибки при запуске проекта на Go?

Здравствуйте! У меня возникла проблема с запуском моего проекта на Go. Когда я пытаюсь запустить его через терминал, указывая путь к файлу main.go, появляется следующая ошибка: 
<pre><code>cc1.exe: sorry, unimplemented: 64-bit mode not compiled in</code></pre> 

Правильно ли я понимаю, что ошибка связана с отсутствием реализации 64-битного режима? Я изучил эту проблему и обнаружил, что одним из предложенных решений является установка GCC. Однако он уже установлен на моем компьютере, и его версия - 6.3.0. Может ли проблема быть связана с тем, что проект запускается в операционной системе Windows? Какие еще способы решения данной ошибки вы могли бы рекомендовать? Необходима ли установка MinGW, если он уже установлен?
  • 28 сентября 2024 г. 14:53
Ответы на вопрос 2
Ошибка, с которой вы столкнулись, `cc1.exe: sorry, unimplemented: 64-bit mode not compiled in`, указывает на то, что ваша версия компилятора GCC не поддерживает 64-битную сборку. Это может происходить по нескольким причинам:

1. **Неправильная версия GCC**: Некоторые сборки GCC могут быть скомпилированы без поддержки 64-битных возможностей. Если ваша версия GCC 6.3.0 была собрана без поддержки 64-битного режима, это и может быть причиной проблемы.

2. **Настройки окружения**: Возможно, у вас установлено несколько версий GCC, и ваш проект может пытаться использовать версию, которая не поддерживает 64-битный режим. Убедитесь, что переменная окружения `PATH` указывает на правильную версию компилятора.

3. **Поддержка Windows**: На Windows использование MinGW (Minimalist GNU for Windows) может быть актуальным, так как он обеспечивает поддержку компиляции программ на Go, в том числе для 64-битных архитектур.

### Рекомендации по решению:

1. **Проверка версии GCC**:
    - Убедитесь, что вы используете подходящую версию GCC, поддерживающую 64-битное компилирование. Попробуйте обновить GCC до более поздней версии (например, 8.1.0 или более новую).

2. **Переустановка MinGW**:
    - Если у вас установлен MinGW, проверьте его настройки. Возможно, стоит переустановить его, выбрав опцию, поддерживающую 64-битную сборку в процессе установки.

3. **Использование пакета TDM-GCC**:
    - Рассмотрите возможность установки TDM-GCC, который идет с поддержкой 64-битных и 32-битных приложений и обычно устанавливается проще.

4. **Проверка компилятора Go**:
    - Убедитесь, что ваш компилятор Go настроен правильно и что для сборки вашего проекта используется правильная версия GOARCH (`GOARCH=amd64` для 64-битных систем).

5. **Проверка кода**:
    - Убедитесь, что ваш код компилируется без использования специфичных для 32-битных систем команд или библиотек.

Попробуйте выполнить эти шаги, и если проблема не решится, дайте знать, и мы посмотрим, что можно сделать дальше.
У вас, судя по выводу gcc -v, используется mingw32. 

Попробуйте установить mingw64

https://www.mingw-w64.org/downloads/

Вот тут на буржуйском всё описано
https://medium.com/@martin.kunc/golang-compile-go-...
Похожие вопросы