Scilab с Visual Studio 2015
Я новичок в Scilab/Xcos и пытаюсь настроить его впервые. Я заметил, что некоторые блоки Xcos, которые я хотел попробовать, требуют компилятора Си.
У меня уже установлена Visual Studio 2015 Professional, и в Scilab, если я запускаю findmsvccompiler
, это возвращает msvc100pro
, Если я бегу configure_msvc
, это возвращает T
(правда?).
Тем не менее, когда я бегу haveacompiler
, возвращается F
(ложный?).
Есть ли способ использовать компилятор VS2015 с Scilab? Я знаю, что страница поддерживаемых компиляторов содержит только до VS2013, но похоже, что эта страница последний раз обновлялась до выпуска VS2015.
Есть ли способ вручную настроить Scilab для использования компилятора VC++ 2015? Или я должен идти об установке компилятора MinGW?
1 ответ
Недавно я нашел обходной путь для Scicos 6.0.0 и VC 2015 Express. Похоже, проблема заключается в обнаружении неправильного ключа (см. dlwIsVc14Express.sci). но создания этого ключа недостаточно.
я выбрал способ скопировать и вставить эти строки в консоль scilab 6.0.0. тогда xcos компиляция образца отлично работает для меня.
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) DIGITEO - 2010 - Allan CORNET
// Copyright (C) Scilab Enterprises - 2014 - Antoine ELIAS
//
// Copyright (C) 2012 - 2016 - Scilab Enterprises
//
// This file is hereby licensed under the terms of the GNU GPL v2.0,
// pursuant to article 5.3.4 of the CeCILL v.2.1.
// This file was originally licensed under the terms of the CeCILL v2.1,
// and continues to be available under such terms.
// For more information, see the COPYING file which you should have received
// along with this program.
// copy paste this modified function in scilab 6.0.0 console , then xcos compile
//=============================================================================
function bOK = dlwIsVc14Express()
bOK = %f;
try
if winqueryreg("key", "HKLM", "Software\Microsoft\DevDiv\vc\Servicing\14.0") <> [] then
bOK = %t;
end
catch
end
endfunction
//=============================================================================
//=============================================================================
// NDLA : I don't know the righ key to chose for dlwIsVc14Pro : change default function here
/*
function bOK = dlwIsVc14Pro()
bOK = %f;
try
if winqueryreg("HKLM", "Software\Microsoft\DevDiv\vs\Servicing\14.0\devenv", "install") == 1 & ...
dlwIsVc14Express() == %f then
bOK = %t;
end
catch
end
endfunction
*/
//=============================================================================
//=============================================================================
function MSCompiler = dlwFindMsVcCompiler()
MSCompiler = "unknown"; // unknown
// We use always last version of MS compiler
val = getenv("SCILAB_PREFERED_MSVC", "");
if val <> "" then
funcs = list(dlwIsVc14Express,dlwIsVc14Pro,dlwIsVc14Express,dlwIsVc12Pro,dlwIsVc11Express,dlwIsVc11Pro,dlwIsVc10Express,dlwIsVc10Pro);
compilers = [ ...
"msvc140express";
"msvc140pro";
"msvc120express";
"msvc120pro";
"msvc110express";
"msvc110pro";
"msvc100express";
"msvc100pro";];
idx = find(val == compilers);
if idx <> [] then
func = funcs(idx);
if func() then
MSCompiler = val;
return;
end
end
end
if dlwIsVc14Express() then
MSCompiler = "msvc140express"; // Microsoft Visual 2015 Express
return;
end
if dlwIsVc14Pro() then
MSCompiler = "msvc140pro"; // Microsoft Visual 2015 Professional / Community (or more)
return;
end
endfunction
//=============================================================================