嘿所以我使用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 ++答案 0 :(得分:2)
根据你的评论,我想你想......让我们把它称为“可部署性”而不是可移植性,这通常指的是跨不同平台运行程序的能力。
查看您的包含,所有节省的PDCurses应该包含在标准的Windows安装中(尽管如果您使用特别新版本的VC ++编译器,您可能无法在旧版Windows上使用它)。对于PDCurses,如果它提供了它的DLL,你可以将它与.exe并排放置,它应该可以工作。或者,查看静态链接,它将在您的可执行文件中嵌入库的副本。
要100%确定,您可以使用Dependency Walker确切地检查您的程序所依赖的DLL,与互联网交叉检查并捆绑您需要的任何内容。
答案 1 :(得分:0)
使用pdcurses作为您的库是朝着正确方向迈出的一步,因为它是跨平台的。但是,Windows.h
和conio.h
(及其相关库)不是跨平台的。 conio的大部分功能都可以在pdcurses中找到。
是否可以找到Windows.h
中函数的兼容库取决于您正在使用的函数以及您希望定位的平台。另一种方法是使用大量#ifdef
语句来包含每个平台所需的内容。
其余的头文件是C ++或C标准库的一部分,因此它们应该是可移植的。
修改强> 谢谢你澄清你的目标。我原本以为你想在多个平台上使用它。在您描述的情况下,您需要确保您拥有应用程序所需的所有.dll,或者您已静态链接所有内容(另一个答案告诉您更多关于这两者)。如有必要,请测试您的程序并在虚拟机上进行测试,或在另一个盒子上安装干净的Windows。