因为我第三次失败了,也许你们中的某个人可以回答我这个(简单?)问题。
我正在寻找创建仅包含几行 C/C++(或其他任何内容)代码的 exe 二进制文件的最简单方法,并且不依赖于并非每个 Windows 系统都可用的任何 dll。因此,没有 cygwin dll,没有 .NET Redistributables,并且在 XP->Windows 10 上工作。文件大小应尽可能小。
谢谢。
最佳答案
如果我正确理解这个问题,你不太关心文件大小,而是关心不依赖第三方 DLL?然后,您始终可以静态链接库(当然,您需要将它们作为名为 lib
csnake_win32_LDFLAGS:= -static-libgcc -Wl,-Bstatic -lpdcurses \
-Wl,-Bdynamic -lwinmm
这只是在针对 Windows 进行编译时由我的 Makefile 在链接阶段添加到 gcc
的标志中。
-static-libgcc
可能是最重要的,因为libgcc(几乎)总是需要并自动链接......默认情况下是动态链接它。
-Wl
将选项从 gcc
传递到链接器 (ld
)。 -Bstatic
告诉链接器以下库应该静态链接。我在这里切换回动态链接,因为 winmm.dll
是一个 Windows 系统 dll。
关于c++ - 编译简单 Windows 二进制文件的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31774489/