c++ - 帮助在 Windows 上使用 g++ 构建

标签 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

最佳答案

exe 是否应该是独立的取决于你如何构建它。我们需要查看已执行的命令,或发布 makefile。但是那个 DLL 似乎不是当前版本的 MinGW 的一部分。另外,请说明您是否真的在 cygwin 下这样做,或者您是否错误地添加了标签。

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

关于c++ - 帮助在 Windows 上使用 g++ 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6179085/

相关文章:

c++ - 使用 Visual Studio 2008 进行跨平台编译

c++ - 在 Ubuntu 上为 AIX 编译 C++ 代码?

c++ - 能否仅对 recv() 函数使套接字成为非阻塞的?

windows - DLLMain lpReserved 参数的真正含义是什么?

c++ - Microsoft 虚拟音频设备驱动程序示例 (MSVAD) 仅创建 44 字节文件

windows - 使用标准 VGA 图形在机器上模拟 OpenGL

c++ - Objective-C++ 项目中枚举类型参数的问题

c++ - 为什么在头文件中定义函数会产生多个定义错误,而不是类?

gcc - 有没有一种简单的方法对编译器输出进行颜色编码?

c++ - 大量对象导致 Segmentation Fault