在Windows上使用g ++进行构建的帮助

问题描述

|| 我需要构建一个小项目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
    

解决方法

        exe是否应自包含取决于您如何构建它。我们需要查看已执行的命令,或发布makefile。但是该DLL似乎不是当前版本的MinGW的一部分。另外,请说明您实际上是在cygwin下执行此操作,还是误添加了标签。 编辑:有点谷歌搜索似乎与可怕的“官方” MinGW安装有关。删除它,然后从http://tdm-gcc.tdragon.net下载Twilight Dragon版本,然后完全重建。无论如何,“官方”版本是cr * p-我不知道为什么有人使用它。     ,        如果要使用MinGW的独立应用程序,则应在链接选项中添加
-static
。 附带说明一下,如果您要制作Win32应用程序,请将
-mwindows
选项添加到C ++编译器,这样它就不会与主窗口一起打开控制台。