2016-06-07 6 views
0

Je suis nouveau sur Scilab/Xcos et j'essaie de l'installer pour la première fois. Je remarque que certains des blocs Xcos que je voulais essayer nécessitent un compilateur C.Scilab avec Visual Studio 2015

J'ai déjà Visual Studio 2015 Professional installé, et dans Scilab, si je cours findmsvccompiler, il renvoie msvc100pro. Si je cours configure_msvc, il renvoie T (true?).

Cependant, quand je cours haveacompiler, il revient F (faux?).

Est-il possible d'utiliser le compilateur de VS2015 avec Scilab? Je sais que la page supported compilers ne répertorie que VS2013, mais il semble que cette page ait été mise à jour pour la dernière fois avant la sortie de VS2015.

Existe-t-il un moyen de configurer manuellement Scilab pour utiliser le compilateur VC++ 2015? Ou dois-je procéder à l'installation du compilateur MinGW?

Répondre

1

J'ai récemment trouvé une solution de contournement pour scicos 6.0.0 et VC 2015 express. le problème semble être la détection d'une mauvaise clé (voir dans dlwIsVc14Express.sci). mais la création de cette clé ne suffit pas. La façon dont j'ai choisi est de copier coller ces lignes dans la console de Scilab 6.0.0. puis xcos compilation d'un exemple de travail bien pour moi.

// 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 
//=============================================================================