2011-05-29 2 views
0

Эй, поэтому я сделал текстовую игру, используя библиотеку pdCurses и инструменты для работы с Microsoft, и я хотел бы заставить ее работать на любом компьютере. Вот мои включает в себя:Как создать консольную текстовую игру C++, которая использует pdCurses portable

#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 и заголовки в папку? или существует гораздо более простой способ для такой небольшой программы? Благодаря! =)

BTW: все, что я хочу быть в состоянии сделать, это показать кому-то свою игру с другого компьютера, не будучи прикованным к компьютеру только и МСВС ++

ответ

2

На основании вашего комментария, я полагаю, вы хотите ... назовем его «развертываемость» скорее переносимостью, которая обычно относится к возможности запуска программы на разных платформах.

Входящий в комплект включает в себя все, что сохраняет PDCurses, должны быть включены в стандартную установку Windows (хотя, если вы используете особенно новую версию компилятора VC++, вы не можете заставить ее работать на более старых Windows). Для PDCurses, если он предоставляет свою DLL, вы можете поместить его рядом с .exe, и он должен работать. Кроме того, посмотрите на статическую ссылку, в которую будет встроена копия библиотеки внутри исполняемого файла.

Чтобы быть уверенным на 100%, вы можете использовать Dependency Walker, чтобы проверить, на какие именно DLL-файлы зависит ваша программа, перекрестная проверка через Интернет и расслоение всего, что вам нужно.

0

Использование pdcurses, как ваша библиотека является шагом в правильном потому что это кросс-платформенный. Однако Windows.h и conio.h (и связанные с ними библиотеки) не являются межплатформенными. Большая часть функциональности conio, вероятно, может быть найдена в pdcurses.

Если вы найдете совместимые библиотеки для функций в Windows.h, это зависит от того, какие функции вы используете и на какой платформе вы хотите настроить. Другой альтернативой является использование множества операторов #ifdef для включения того, что вам нужно для каждой платформы.

Остальные те заголовки являются частью стандартных библиотек C++ или C, поэтому они должны быть переносимыми.

Редактировать: Спасибо за разъяснение вашей цели. Сначала я думал, что вы хотите использовать его на нескольких платформах. В случае, когда вы описываете, вам нужно убедиться, что у вас есть все необходимые DLL-файлы с приложением или что вы все связали все статически (в другом ответе вам рассказывается немного больше об обоих). При необходимости проверьте свою программу и dlls на виртуальной машине или чистую Windows, установите на другой флажок.

+0

Я имею в виду, если я хочу просто сделать исполняемый файл на другом компьютере ... Я хочу, чтобы иметь возможность посеять кого-то свою игру без необходимости играть в msVS ++ только на этом компьютере! Нужно ли размещать файлы DLL в папке или что-то еще? – Griffin

+0

Привет, Griffin, если вы хотите, чтобы это выполнялось на Mac или Linux (кросс-платформе), вы не можете полагаться на файлы dll ... Для простой игры на основе проклятий вам не нужно иметь никакого другого файла, но скомпилированный исполняемый файл, Windows, Linux, или Mac. Я написал несколько таких игр, и это был мой опыт. – jcpennypincher