Скачал SDK от TI. Установил.
Открываю в студии d:\WINCE700\OSDesigns\AM35x_OSDesign\AM35x_OSDesign.sln
Жму Rebuild Solution.
Минут 15 компилирует, потом выдает 3 ошибки:
Код
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cscript.EXE' : return code '0x1' {log="D:\WINCE700\build.log(14263)"}
SYSGEN: ERROR: error(s) in sysgen phase ( ossvcs ) {log="D:\WINCE700\build.log(14265)"}
BLDDEMO: ERROR: There were errors building CEBASE. {log="D:\WINCE700\build.log(14284)"}
SYSGEN: ERROR: error(s) in sysgen phase ( ossvcs ) {log="D:\WINCE700\build.log(14265)"}
BLDDEMO: ERROR: There were errors building CEBASE. {log="D:\WINCE700\build.log(14284)"}
C помощью ProcessMonitora я выяснил, что студия запускает cscript со следующими параметрами:
Код
C:\WINDOWS\system32\cscript.EXE //nologo D:\WINCE700\public\ossvcs\cesysgen\copyrsrc.js smartfon D:\WINCE700\public\ossvcs\oak\lib\ARMV7\retail
Файл D:\WINCE700\public\ossvcs\cesysgen\copyrsrc.js присутствует. Вот его содержимое:
Код
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
// **************************************************************************
//
//
// CopyRsrc.js -- copy platform-specific resources files to their platform
// independent names. This is challenging only because there are many
// directories
//
// Author -- JMerrill
// Date -- 04/2002
//
//
// **************************************************************************
if (WScript.Arguments.Length != 2)
{
WScript.Echo ("Usage: copyrsrc <_TGTPROJ> <SG_INPUT_OAKLIB>");
WScript.Quit(-1);
}
var shell = WScript.CreateObject("WScript.Shell");
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var env = shell.Environment("Process");
var winceRoot = env("_WINCEROOT");
var plat = WScript.Arguments(0);
var sg_input_oaklib = WScript.Arguments(1);
var langs = env("_LANGIDLIST");
var reg_ex = WScript.CreateObject("VBScript.RegExp");
var template = "(.+)_" + plat + "\.res";
var target = "$1.res";
var resourcefiles = env("TEMP") + "\\rsrcs.txt";
var retcode;
reg_ex.Pattern = template;
WScript.Echo ("Finding platform-specific resource files to copy")
retcode = shell.Run("cmd.exe /c \"cd /d " + sg_input_oaklib + " && " +
"dir /s /b /a:-d *_" + plat + ".res" +
" > " + resourcefiles + "\"", 0, true);
if (retcode != 0)
{
WScript.Echo ("No project-specific resource files found");
WScript.Quit(0);
}
WScript.Echo ("Copying Files.");
var rsrcFiles = fso.OpenTextFile(resourcefiles, 1);
while (!rsrcFiles.AtEndOfStream)
{
var Name = rsrcFiles.ReadLine();
var file = fso.GetFile(Name);
var NewName = CleanName(Name);
file.Copy(NewName, 1);
}
WScript.Quit(0);
function CleanName(Name)
{
return reg_ex.Replace(Name, target);
}
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
// **************************************************************************
//
//
// CopyRsrc.js -- copy platform-specific resources files to their platform
// independent names. This is challenging only because there are many
// directories
//
// Author -- JMerrill
// Date -- 04/2002
//
//
// **************************************************************************
if (WScript.Arguments.Length != 2)
{
WScript.Echo ("Usage: copyrsrc <_TGTPROJ> <SG_INPUT_OAKLIB>");
WScript.Quit(-1);
}
var shell = WScript.CreateObject("WScript.Shell");
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var env = shell.Environment("Process");
var winceRoot = env("_WINCEROOT");
var plat = WScript.Arguments(0);
var sg_input_oaklib = WScript.Arguments(1);
var langs = env("_LANGIDLIST");
var reg_ex = WScript.CreateObject("VBScript.RegExp");
var template = "(.+)_" + plat + "\.res";
var target = "$1.res";
var resourcefiles = env("TEMP") + "\\rsrcs.txt";
var retcode;
reg_ex.Pattern = template;
WScript.Echo ("Finding platform-specific resource files to copy")
retcode = shell.Run("cmd.exe /c \"cd /d " + sg_input_oaklib + " && " +
"dir /s /b /a:-d *_" + plat + ".res" +
" > " + resourcefiles + "\"", 0, true);
if (retcode != 0)
{
WScript.Echo ("No project-specific resource files found");
WScript.Quit(0);
}
WScript.Echo ("Copying Files.");
var rsrcFiles = fso.OpenTextFile(resourcefiles, 1);
while (!rsrcFiles.AtEndOfStream)
{
var Name = rsrcFiles.ReadLine();
var file = fso.GetFile(Name);
var NewName = CleanName(Name);
file.Copy(NewName, 1);
}
WScript.Quit(0);
function CleanName(Name)
{
return reg_ex.Replace(Name, target);
}
Но судя по описанию утилиты cscript её нужно запускать следующим образом:
Код
CScript имя_сценария.расширение [параметры...] [аргументы...]
Т.е. сначала имя файла, а потом уже //NoLogo.
Т.е. получается, что студия запускает cscript с неправильными параметрами. Хотя, возможно, утилите cscript не важен порядок параметров.
Можно ли где-то подправить порядок этих параметров? Или это жестко в EXE-шнике компилятора студии зашито? Поиском не нашел.