Недавно я начал использовать Msys2 для установки компилятора gcc и создания exe-файлов для Windows. Это работает очень хорошо, но возникла проблема при передаче моего exe брату. На его ноутбуке не установлен msys2, и когда он пытается запустить мой exe, возникают ошибки. Похоже, для использования моего exe-файла необходимо несколько файлов DLL (например, msys-2.0.dll).
Я обнаружил, что эти файлы используются MSYS2 для «подделки» «ОС на машине притворяется, что она POSIX. Есть ли способ скомпилировать автономный exe-файл для Windows с помощью msys2? Я бы хотел, чтобы мой брат мог использовать мой exe без установки msys или чего-то еще.
Вот все подробности, чтобы лучше понять мою ситуацию:
Все точные сообщения об ошибках, которые я получаю из Windows после двойного щелчка по сгенерированному exe-файлу. Обратите внимание, что эти сообщения появляются не в CMD, а в классическом всплывающем окне Windows:
Программа может не запускается, потому что на вашем компьютере отсутствует msys-2.0.dll.
Попробуйте переустановить программу, чтобы решить эту проблему.
Программа не может запуститься, потому что На вашем компьютере отсутствует libstdc++-6.dll.
Попробуйте переустановить программу, чтобы решить эту проблему.
Программа не может запуститься, поскольку libgcc_s_seh-1. dll отсутствует на вашем компьютере.
Попробуйте переустановить программу, чтобы решить эту проблему.
Исправлено:
Я решил проблему, просто используя параметр g++ -static. Это перебор?
Недавно я начал использовать Msys2 для установки компилятора gcc и создания exe-файлов для Windows. Это работает очень хорошо, но возникла проблема при передаче моего exe брату. На его ноутбуке не установлен msys2, и когда он пытается запустить мой exe, возникают ошибки. Похоже, для использования моего exe-файла необходимо несколько файлов DLL (например, msys-2.0.dll). Я обнаружил, что эти файлы используются MSYS2 для «подделки» «ОС на машине притворяется, что она POSIX. Есть ли способ скомпилировать автономный exe-файл для Windows с помощью msys2? Я бы хотел, чтобы мой брат мог использовать мой exe без установки msys или чего-то еще. Вот все подробности, чтобы лучше понять мою ситуацию: [list] [*][code]g++ HelloWord.cpp -o Helloword[/code] — это строка, которую я использую для компиляции [*][code]C:\msys64\mingw64\bin[/code] вот путь, по которому хранится g++ [*]Все точные сообщения об ошибках, которые я получаю из Windows после двойного щелчка по сгенерированному exe-файлу. Обратите внимание, что эти сообщения появляются не в CMD, а в классическом всплывающем окне Windows: [/list] [list] [*]Программа может не запускается, потому что на вашем компьютере отсутствует msys-2.0.dll. Попробуйте переустановить программу, чтобы решить эту проблему. [*]Программа не может запуститься, потому что На вашем компьютере отсутствует libstdc++-6.dll. Попробуйте переустановить программу, чтобы решить эту проблему. [*]Программа не может запуститься, поскольку libgcc_s_seh-1. dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы решить эту проблему. [/list] Исправлено: Я решил проблему, просто используя параметр g++ -static. Это перебор?