Jestem bardzo zainteresowany ILNUmerics i chciałbym wypróbować darmową wersję, ale mam problemy.Początkujący ILNumerics: zainstaluj pod VS2012
Zacząłem od aplikacji konsolowej i próbowałem uruchomić aplikację "hello ilnumerics", ale zauważyłem, że VS nie znajduje bibliotek MKL.
Używam VS2012 pod Windwos 8 (przez Bootcamp na komputerze MacBook Pro w połowie 2010 r., Powinno to być istotne); Zainstalowałem rozszerzenie NuGet Packages z rozwiązania Project. Następnie kliknij prawym przyciskiem myszy odniesienia w eksploratorze rozwiązań, "Zarządzaj Nu Pobierz pakiety", fron online/wyszukaj znalezione ilnumerics w różnych wersjach. Wybrałem "ILNumerics" i zainstalowałem. Do mojego projektu dodano "ILNumerics" i "ILNumerics.Native". Następnie widzę ILNumerics w "References" w Solution Explorer, a także dostaję dwa nowe foldery/bin32/i/bin64/oba zawierają dwie biblioteki DLL o nazwach: libiomp5md.dll i mkl_custom.dll. Sprawdziłem ich właściwość "Kopiuj do Ouput Directory" i wszystkie są ustawione na "Kopiuj, jeśli nowsze".
Najwyraźniej mkl_custom nie został znaleziony. Piszę poniższy kod, zaczerpnięte z podręcznika Szybki start:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ILNumerics;
namespace ConsoleApplication3
{
class Program : ILMath
{
static void Main(string[] args)
{
ILArray<double> A = array<double>
(new double[] { 1,1,1,1,1,2,3,4,1,3,6,10,1,4,10,20} ,4, 4);
ILArray<double> B = counter(4, 2);
ILArray<double> Result = linsolve(A, B);
Console.Out.WriteLine("A: " + Environment.NewLine +
A.ToString());
Console.Out.WriteLine("B: " + Environment.NewLine + B.ToString());
Console.ReadKey();
}
}
}
i otrzymuję ten wyjątek: nieobsługiwany wyjątek typu „System.DllNotFoundException” wystąpił w ILNumerics.dll
Informacje dodatkowe: nie można load DLL 'mkl_custom': Nie można znaleźć określonego modułu. (Wyjątek od HRESULT: 0x8007007E)
Jeśli nie będę wywoływać linsolve, to metoda ToString z ILArray działa: jeśli komentarz: // Wynik ILArray = linsolve (A, B);
Otrzymuję dwie matryce wydrukowane na ekranie.
Próbowałem również obliczyć wyznacznik macierzy i otrzymałem ten sam wyjątek: najwyraźniej za każdym razem, gdy wołam mkl_custom VS nie jest w stanie go znaleźć.
Każda pomoc/podpowiedź, proszę?
Ponadto, czy konieczne jest zainstalowanie ILNumerics przez NuGet na każdym projekcie dodanym do rozwiązania? Czy byłoby możliwe zainstalowanie go lokalnie raz dla wszystkich, a następnie w razie potrzeby dodać odniesienie?
Proponuję dodać znacznik C# do tego – doctorlove
Dzięki doctorlove; zrobimy to od razu –
Kiedy zaglądasz do swojego folderu wyjściowego: czy są tam pliki binarne? Powinieneś zobaczyć: Twój * .exe, ILNumerics.dll, mkl_custom.dll i LIBIOMP5MD.DLL? I zaczynając exe stąd ... ten sam błąd? –