Форум программистов, компьютерный форум, киберфорум
Go (Golang)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
Заблокирован

Не могу скомпилировать исполняемый файл

07.12.2020, 21:13. Показов 5268. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я недавно начал изучать Go и использую для этого GoLand. Вначале поставил на Винду и скомпилировать *.exe оказалось довольно просто. Набрал в терминале самого IDE go build test.go и готово. Потом поставил Linux MInt и эта команда уже не работает. В терминале GoLand(а) пишет что команда go не найдена. А в терминале самого Линукса работает, но ничего не создает. Я уже пробовал по всякому и даже так: env GOOS=linux GOARCH=amd64 go build /home/user/go/src/Goroutines/test.go - результата никакого.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2020, 21:13
Ответы с готовыми решениями:

Скомпилировать исполняемый файл
Как скомпилировать исполняемый файл в LispWorks Personal Edition 6.1.1 или Allegro CL Free Edition 9.0? Привести пример с кодом...

Не могу создать исполняемый файл
Здравствуйте. Прошу прощения за столь нубский вопрос. Но как создать исполняемый файл в компиляторе Open Watcom? В бэйсике и паскале всё...

Я не могу разобраться как мне правильно подключить исполняемый файл .срр
Доброго всем времени суток. Начал изучать Visual С++. Конечно интерестный язык, но довольно таки громоздкий. Сталкнулся с такой проблемой,...

7
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.12.2020, 21:22
Лучший ответ Сообщение было отмечено Timur_leng как решение

Решение

Цитата Сообщение от Timur_leng Посмотреть сообщение
и эта команда уже не работает.
Но это уже вопрос не про Go. Билдится тут все очень просто. Я на винде делаю exe и для винды и для линукса. Никаких проблем.

Цитата Сообщение от Timur_leng Посмотреть сообщение
но ничего не создает.
Что значит ничего? Файл test без расширения где-то (поищи в рабочей директории откуда запустил терминал) должен появится по-любому.

Добавлено через 4 минуты
Или не рабочем каталоге, а в каталоге исходного кода.
2
Заблокирован
07.12.2020, 21:35  [ТС]
Garry Galler, нашел) Нашел поиском. Файл оказался в директории /home/user/ а я думал будет там же, где и исходник. Вероятно есть возможность в редакторе это настроить.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.12.2020, 21:51
Да, кстати, поостерегись использовать в названиях файлов исходного кода слово test.
go build будет игнорировать все файлы заканчивающиеся на "_test.go".
Я поначалу называл так по привычке свои тестовые (в обыденном смысле) коды.
А такие файлы в Go юзаются специально для настоящих юнит-тестов и команды go test.
То же самое с названиями функций и методов. Со словами test, benchmark и example в начале они будут запускаться только в тестах и должны иметь специальную сигнатуру.
1
56 / 20 / 2
Регистрация: 18.06.2018
Сообщений: 199
07.12.2020, 22:17
При работе с Go в Linux (не знаю что там в винде) требуется устанавливать сам Go в папку /usr/local/go, добавлять папку /user/local/go/bin в пеменную окружения пути $PATH, а также настраивать переменные GOPATH, GOROOT, GO111MODULE,

Кроме этого, структура папок там где держите свои проекты должна быть не абы-какой попало, а в ней должны быть папки: src, bin и pkg.
Кроме этого в папке src у вас должна присутствовать папка github.com внутрь которой Go сует свои пакеты командой go get ... если Вы делаете импорт библиотек с гитхаба. Ну и сам путь в импорте должен начинаться от той папки, которая растет из src.

Кроме этого если Вы создаете проект с модульной архитектурой .. то есть у вас есть файлик go.mod (go.sum) то .. вам надо свой проект ВЫНЕСТИ из под структуры папок src в иное место..

ну и ещё пара тонкостей есть при работе с пакетным менеджером dep.. ))
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.12.2020, 22:56
Цитата Сообщение от Arhat109 Посмотреть сообщение
а также настраивать переменные GOPATH, GOROOT, GO111MODULE,
На самом деле ничего кроме пути каталога куда установлен сам Go.
GOPATH задается автоматически.
GO111MODULE только для старых версий или для обратной совместимости - уже не помню. Никогда ее не использовал.
0
56 / 20 / 2
Регистрация: 18.06.2018
Сообщений: 199
07.12.2020, 23:02
Цитата Сообщение от Garry Galler Посмотреть сообщение
GOPATH задается автоматически.
В линукс, автоматически? При компиляции в консоли вызовом из командной строки go run? Повеселили ..

Для модульного режима ещё есть GOPROXY и что-то там ещё .. пока только читаю про них.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
08.12.2020, 13:46
Цитата Сообщение от Arhat109 Посмотреть сообщение
В линукс, автоматически
GOPATH по умолчанию это домашняя директория + каталог go: /home/user/go
Нужен только для кастомной файлопомойки. (Впрочем, у меня файлопомойка вообще не в GOPATH, однако все работает)
А для модульного режима с вендорингом зависимостей GOAPTH вообще никак не нужен.

GOPATH (как некая директория по умолчанию) нужен исключительно самому Go.
\pkg\mod\cache\download - сюда он качает пакеты, перед тем как скопировать их в vendor каталог пользовательского модуля.
А в каталогах windows_amd64 или linux_amd64 создает библиотечные файлы .a загруженных модулей.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.12.2020, 13:46
Помогаю со студенческими работами здесь

Не могу скомпилировать файл.
Всем привет. Есть друг ему нужно помочь, у него есть прога исходники которой потеряны, и компилировалась она очень давно. Я ее...

Не могу скомпилировать apk файл через buildozer
Доброго времени суток! На днях познакомился с сокетами и смог отправить текст с одного Ноута на другой через эти сокеты по локальной...

Не могу скомпилировать файл, ошибка E2379 Statement missing и пр
Всем доброго времени суток. Проблема заключена в следующем: Код написан, проверен уже несколько раз, но компилятор выдает несуществующие...

VB6: не могу скомпилировать exe-файл со встроенными библиотеками
Здравствуйте. Я не могу скомпилировать exe-файл со встроенными библиотеками. Это вообще возможно? Ответьте кто-нибудь из умнейших.

не могу скомпилировать и запустить файл. что я делаю не так?
gcc hello.c ./a.out


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru