经过一番努力,我成功构建了一小段示例代码并使其运行。我在Win 7 x64机器上的CodeBlocks 13.12中使用C ++。该程序使用wxWidgets和OpenGL库。
问题是,为了使EXE成功运行,我不得不将这些DLL文件复制到EXE的位置:
我想知道如何构建程序(项目中要更改的设置),以便EXE文件能够自行运行(以及其他计算机上) - "缺少DLL"错误消息?如果答案在未来类似的问题中可以作为参考,那将是很好的。
答案 0 :(得分:1)
在链接器中,您可以添加与此类似的行:
-static wxbase30ud_gcc481TDM
但是,这不是非常有效或良好的做法。更好的方法是继续使用你的.exe包含dll,并简单地为你的程序提供一个用户可以在任何地方移动的快捷方式。这允许您将所有程序文件安装并保存在一起,但仍然让用户只担心整个程序文件。
答案 1 :(得分:0)
你可以使用类似Enigma Box的东西,它将DLL打包到exe中,如果你调用LoadLibrary,它将按预期运行:
http://enigmaprotector.com/en/about.html
其他一些像ILMerge或XBundler一样存在我也听说过......但是还没有用过它们。我也听说过DLLPack。