Помощь по сборке с использованием g ++ на Windows - PullRequest
3 голосов
/ 30 мая 2011

Есть небольшой проект C ++ (в нем есть код win32), который мне нужно собрать.У него уже есть свой Makefile.Мне сказали использовать MinGW.Я никогда не использовал это раньше.Я скачал и установил последнюю версию установщика MinGW.

Затем я открыл оболочку MinGW и сделал make.EXE-файл был создан.Но когда я пытаюсь запустить его, я получаю libgcc_s_dw2-1.dll отсутствует!Почему я получаю эту ошибку?Разве exe не должен быть автономным и запускаться где угодно?

ОБНОВЛЕНИЕ
Вот дополнительная информация из Makefile:

CC = g++ 
CCOPTIONS=-DWINDOWS -DFORCEINLINE -DMINGW -DSRTP_SUPPORT -D__EXPORT= -D_WIN32_WINNT=0x0501 -DNOMVS    
setup.exe: setup.o common.o 
    $(CC) -ggdb -g -O0 -o $@ setup.o common.o  -mno-cygwin -mwindows -lwsock32 -lws2_32 -lwinmm -lgdi32 -lcomctl32 -lmapi32 -lVfw32

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Должен ли exe быть автономным, зависит от того, как вы его построили.Нам нужно увидеть команды, которые были выполнены, или опубликовать make-файл.Но эта DLL, похоже, не является частью текущей версии MinGW.Также, пожалуйста, уточните, действительно ли вы делаете это в Cygwin, или если вы добавили тег по ошибке.

Редактировать: Похоже, что поиск в Google связан с ужасным "Официальная установка MinGW.Удалите его и загрузите сборку Сумеречного Дракона из http://tdm -gcc.tdragon.net , а затем полностью восстановите."Официальная" сборка в любом случае - cr * p - я не знаю, почему кто-то ее использует.

0 голосов
/ 30 мая 2011

Если то, что вы хотите сделать, - это отдельное приложение с MinGW, вам следует добавить -static к параметрам связывания.

Кстати, если вы создаете приложение для Win32, добавьте параметр -mwindows в компилятор C ++, чтобы он не открывал консоль вместе с вашим главным окном.

...