【发布时间】:2011-08-24 06:20:23
【问题描述】:
我最近开始在我正在开发的 C++ 游戏中使用 PDCurses。当我在自己的机器(Windows)上编译程序并运行 .exe 时,一切正常。
当我将该 .exe 放到另一台没有 PDCurses 的计算机上并尝试运行它时,我收到有关缺少 pdcurses.dll 文件的错误消息。
在网上做了一些研究后,我发现包含 .dll 文件和 .exe 应该可以让它运行,但它对我不起作用。
这就是我使用 MinGW 编译程序的方式:g++ game.cpp -o game -lpdcurses
所以我的问题是,如何让这个程序在没有设置 PDCurses 的计算机上运行,还有,有没有办法通过将 .exe 与系统需要的任何其他文件结合起来来做到这一点运行程序?我还读到您可以进行某种静态链接,但到目前为止我还没有找到方法。
提前感谢您的帮助。
注意:如果重要,我会按照本教程设置 PDCurses:http://comptb.cects.com/1848-adding-pdcurses-to-mingw 不确定这是否是最好的方法,但我可以在我的计算机上编译和运行使用 pdcurses 的 C++ 代码。
很抱歉没有发布确切的消息。他们在这里:
当我没有将 pdcurses.dll 文件与可执行文件一起包含时,我得到的第一个说:
程序无法启动,因为您的计算机中缺少 pdcurses.dll。尝试重新安装程序来解决这个问题。
包含 pdcurses.dll 后得到的第二个:
*程序无法启动,因为您的计算机中缺少 libcc_s_dw2-1.dll。尝试重新安装程序以解决此问题。*
【问题讨论】:
-
不起作用是什么意思?您收到了哪些确切的错误消息?
-
“工作”是指它根本不运行。我只是给我关于丢失 pdcurses.dll 的错误
-
如果将
pdcurses.dll复制到与game.exe文件相同的文件夹中会发生什么?那么它应该可以工作了。 -
当我尝试这样做时,它不再给我关于 pdcurses.dll 的错误,但它确实给了我关于另一个丢失的 .dll 文件的不同错误。你知道我编译程序并同时将它与.dll链接的方式吗?
-
您也只需将“不同的缺失.dll”放入应用程序目录即可。大概。当然,如果你真的知道那个 dll 是什么(它在错误对话框中明确命名,你只需要阅读),那么我们也许可以给你更好的帮助。
标签: c++ dll portability pdcurses