При компиляции с MinGW мне нужно скопировать определенные файлы DLL из каталога bin MinGW до запуска exe (даже при использовании «-статического» и/или «-статического-libstdC++».) Как изменить этот ? Есть ли специальная сборка MinGW, которую я должен использовать? В конце концов, я хочу, чтобы иметь возможность запускать программу с ничего, кроме еха в каталоге (и не устанавливать никаких переменные среды Windows.) Этот файлом является:MinGW .exe требует нескольких gcc dll, независимо от кода?
- libstdC++ - 6.dll
- libgcc_s_seh-1.dll
- libwinpthread-1.dll
А вот полный список СТЭПА я залежный:
- Открывает Code :: Blocks
- Выберите "File-> New-> Project> Консоль"
- Заполните параметры проекта для проекта "Hello World"
- правой кнопкой мыши Project> Build Options ...-> Hello World (Root цель) -> Другие варианты
- Enter "-static" (или "-static-libstdC++") под уже установленных "-fexceptions"
- CTRL-F9: Build Project (без выполнения)
- Перейдите, в Windows Explorer и запустить встроенный файл Hello World.exe.
- Нажмите «ОК», когда появится сообщение «Ошибка: libstdC++ - 6.dll отсутствует на вашем компьютере».
- Скопируйте «libstdC++ - 6.dll» из каталога/MinGW/bin/в каталог «Hello World.exe».
- Запустить «Hello World.exe»
- Нажмите «ОК» для сообщения «Ошибка: libgcc_s_seh-1.dll отсутствует на вашем компьютере».
- Скопируйте "libgcc_s_seh-1.dll" в папку "Hello World.exe".
- Повторите и завершите копирование «libwinpthread-1.dll» поверх.
просмотреть сообщение
Hello World!
Edit: Моя командная строка:
g++.exe -Wall -fexceptions -static -static-libgcc -static-libstdc++ -g -static-libgcc -static-libstdc++ -L. -c "C:\Users\______\Desktop\Hello World\main.cpp" -o obj\Debug\main.o
g++.exe -o "bin\Debug\Hello World.exe" obj\Debug\main.o
Со всеми DLL-файлов, упомянутых выше требуется. И, на всякий случай, код:
// main.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
Звучит так, как будто вы хотите объединить все в единый перемещаемый исполняемый файл. – Jiminion
Я бы построил его вне блоков кода. Вам нужно увидеть команду сборки. – Jiminion