我想构建 exe 以在另一台计算机上工作。我相信我已经找到了程序所需的 dll,并将它们与应用程序以及应用程序在运行时加载的所有文件一起包含在同一目录中。将文件夹放入 USB 中,首先在我的 PC 上对其进行测试,然后运行,将 USB 插入另一台计算机,应用程序在另一台计算机上执行时立即终止。没有丢失 dll 或任何类型的错误,只是打开和关闭。所以我想尝试在发布模式下构建 exe,就像我过去使用 Visual Studio 所做的那样,但我似乎无法在 DEV c++ 中找到任何这样的构建选项。也许那不是我的问题,对我有什么想法吗?
2 回答
如果您只需要 gpsvc.dll 的 32 位副本,您可以尝试从实际的 32 位版本的 Windows 获取它,然后将它与您的应用程序使用的所有其他 dll 一起放置。但是,它是 Windows 提供的 dll,所以我不认为你真的应该这样做,而且它可能最终无法正常工作。也就是说,64 位 Windows 可能会注意到这一点,并且不允许您加载 DLL。
至于构建“发布 exe”,我认为 Dev C++ 不像 Visual Studio 和许多其他 IDE 那样具有发布或调试构建配置的概念。您可以做的是转到项目选项,然后是编译器选项卡,然后是下面列表中的链接器标题。如果“生成调试信息”设置为“是”,请将其更改为“否”。如果需要,您还可以将“剥离可执行文件”设置为“是”,以及在“链接器”下方的“优化”标题下打开各种优化设置。
或者,您可以使用 Dev C++ 自动生成的 makefile 并对其进行更改,将其保存在不同的文件名下,例如“my_project_release.win”。你要做的是改变它以删除命令行开关,如 -g、-g3 或其他类似的标志,这些标志允许在编译的二进制文件中包含调试信息。要从编译后的二进制文件中去除符号,请将 -s 添加到 CXXFLAGS 和 CFLAGS 生成文件变量中,方法与从生成文件中删除调试信息标志的方式相同。创建这个新的 makefile 后,再次进入 Project Options 对话框,然后转到 Makefile 选项卡。选中“使用自定义 Makefile...”,然后在此处指定此新 makefile 的位置,您现在应该正在构建可执行文件的发布版本。要切换回调试转换,
只需按Ctrl+ h(或单击项目栏中的对象属性,图标就像一个盾牌)。
然后转到:
编译器 > 链接器 > 生成调试信息 (-g3)
并将其设置为“否”。
只需使用 devc++ 并享受!