因为我第三次失败了,也许你们中的某个人可以回答我这个(简单?)的问题。
我正在寻找创建包含几行C / C ++(或其他任何)代码的exe二进制文件的最简单方法,并且不依赖于每个Windows系统上都没有的任何dll。所以没有cygwin dll,没有.NET Redistributables,并且从XP-> Windows 10工作。文件大小应该尽可能小。
感谢。
答案 0 :(得分:1)
如果我正确理解了这个问题,你不关心文件大小,但不关心第三方DLL?然后,您可以始终静态链接库(当然,您需要将它们作为名为 lib< name> .a 的存档)。例如,我使用 pdcurses 库为我的游戏Windows构建使用以下内容:
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。
答案 1 :(得分:1)
您需要Win32 API(无MFC)。例如,您可以使用Visual C ++ Express。重要的是启用"多线程"用于运行时库(不含DLL)。这是在C ++ /代码生成设置中。使用像VC 6或Borland C ++ 5这样的旧编译器,您的exe将在Windows 95及更高版本的所有Windows上运行时没有问题。