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

时间:2011-05-30 17:18:08

标签: c++ windows g++ cygwin

我需要构建一个小项目C ++(它有win32代码)。它已经有了Makefile。有人告诉我使用MinGW。我以前从未使用过它。我下载并安装了最新的MinGW安装程序。

然后,我打开了MinGW shell并做了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 个答案:

答案 0 :(得分:2)

exe是否应该是自包含的取决于你是如何构建它的。我们需要查看已执行的命令,或发布makefile。但该DLL似乎不是当前版本的MinGW的一部分。另外,请澄清您是否在cygwin下实际执行此操作,或者您是否错误地添加了标记。

编辑:谷歌搜索似乎与可怕的“官方”MinGW安装有关。删除它,从http://tdm-gcc.tdragon.net下载Twilight Dragon版本,然后完全重建。无论如何,“官方”版本是cr * p - 我不知道为什么有人使用它。

答案 1 :(得分:0)

如果你想做的是使用MinGW的独立应用程序,你应该将-static添加到链接选项。

另外,如果您正在创建Win32应用程序,请将-mwindows选项添加到C ++编译器中,这样它就不会与主窗口一起打开控制台。