如何制作一个使用pdCurses便携式的控制台c ++文本游戏

时间:2011-05-29 01:41:03

标签: text console portability transfer pdcurses

嘿所以我使用pdCurses库和microsoft opperating系统工具制作了一个文本游戏,我想让它适用于任何计算机。这是我的包括:

#include <iostream>
#include <time.h> // or "ctime"
#include <stdio.h> // for 
#include <cstdlib> 
#include <Windows.h> 
#include <conio.h>
#include<curses.h>
#include <algorithm>
#include <string>
#include <vector>
#include <sstream>
#include <ctime>

#include <myStopwatch.h> // for keeping times
#include <myMath.h>      // numb_digits() and digit_val();

myStopwath / Math.h包括:

#include <stdio.h>
#include <math.h>
#include <tchar.h>

我是否需要像大多数可下载程序一样制作某种安装程序向导?我可以简单地将dll,libs和header放在一个文件夹中吗?或者这样一个小程序有更简单的方法吗?谢谢! =)

BTW:我希望能够做的就是从另一台计算机上向某人显示我的游戏,而不是仅仅链接到这台计算机和msVS ++

2 个答案:

答案 0 :(得分:2)

根据你的评论,我想你想......让我们把它称为“可部署性”而不是可移植性,这通常指的是跨不同平台运行程序的能力。

查看您的包含,所有节省的PDCurses应该包含在标准的Windows安装中(尽管如果您使用特别新版本的VC ++编译器,您可能无法在旧版Windows上使用它)。对于PDCurses,如果它提供了它的DLL,你可以将它与.exe并排放置,它应该可以工作。或者,查看静态链接,它将在您的可执行文件中嵌入库的副本。

要100%确定,您可以使用Dependency Walker确切地检查您的程序所依赖的DLL,与互联网交叉检查并捆绑您需要的任何内容。

答案 1 :(得分:0)

使用pdcurses作为您的库是朝着正确方向迈出的一步,因为它是跨平台的。但是,Windows.hconio.h(及其相关库)不是跨平台的。 conio的大部分功能都可以在pdcurses中找到。

是否可以找到Windows.h中函数的兼容库取决于您正在使用的函数以及您希望定位的平台。另一种方法是使用大量#ifdef语句来包含每个平台所需的内容。

其余的头文件是C ++或C标准库的一部分,因此它们应该是可移植的。

修改 谢谢你澄清你的目标。我原本以为你想在多个平台上使用它。在您描述的情况下,您需要确保您拥有应用程序所需的所有.dll,或者您已静态链接所有内容(另一个答案告诉您更多关于这两者)。如有必要,请测试您的程序并在虚拟机上进行测试,或在另一个盒子上安装干净的Windows。