Hello all,
I have seen these two topics
http://software.intel.com/en-us/forums/topic/283594
http://software.intel.com/en-us/forums/topic/401425#comment-1764824
strongly related to the problem I currently have with the MKL. This problem appears on windows 7 or 8, both 64bits, with intel cluster studio 32 & 64 bits installed + its sp1 udpdate, when I am trying to build a 32 bits dll using the MKL, especially functions from the VSL. (I will give more precisions later in this post.)
In C:\Program Files (x86)\Intel I have :
12/11/2013 22:54 <DIR> .
12/11/2013 22:54 <DIR> ..
10/11/2013 23:54 <JUNCTION> Advisor XE [C:\Program Files (x86)\Intel\Advisor XE 2013]
10/11/2013 23:55 <DIR> Advisor XE 2013
16/10/2013 11:41 <DIR> Bluetooth
10/11/2013 23:29 <DIR> Composer XE
12/11/2013 21:19 <DIR> Composer XE 2013
12/11/2013 21:33 <DIR> Composer XE 2013 SP1
12/11/2013 21:22 <DIR> ics
10/11/2013 23:24 <DIR> icsxe
12/11/2013 21:23 <DIR> imb
16/10/2013 11:34 <DIR> InfInst
10/11/2013 23:48 <JUNCTION> Inspector XE [C:\Program Files (x86)\Intel\Inspector XE 2013]
10/11/2013 23:49 <DIR> Inspector XE 2013
16/10/2013 11:41 <DIR> Intel(R) Integrated Clock Controller Service
13/10/2013 14:11 <DIR> Intel(R) Processor Graphics
16/10/2013 11:35 <DIR> Intel(R) Rapid Storage Technology
13/10/2013 14:11 <DIR> Media SDK
12/11/2013 21:38 <DIR> MPI
16/10/2013 11:41 <DIR> OpenCL SDK
12/11/2013 22:54 0 toto.txt
12/11/2013 21:23 <DIR> Trace Analyzer and Collector
10/11/2013 23:41 <JUNCTION> VTune Amplifier XE [C:\Program Files (x86)\Intel\VTune Amplifier XE 2013]
10/11/2013 23:41 <DIR> VTune Amplifier XE 2013
24/10/2013 12:05 <DIR> WiFi
I have not installed personnaly all of this, as my both win 7 & 8 are on my pro laptops. Only thing I did was, I was told, to launch the shortcut to "C:\Windows\SysWOW64\cmd.exe /K "C:\Program Files (x86)\Intel\icsxe\2013.0.028\bin\ictvars.bat" that was on the desktop.
In my work, I am supposed to use the VSL from intel MKL to generate special kind or random numbers. I am doing this in c++ under visual studio 2008, 2010 or 2012, and I must generate an ATL COM dll that will be called from VBA or C# by the people that will use my code.
I first tried the VSL in a simple console project, just to see
#include "stdafx.h"
#include <iostream>
#include <mkl.h>
#include <mkl_vsl.h>
#include <mkl_vsl_functions.h>
int _tmain(int argc, _TCHAR* argv[])
{
VSLStreamStatePtr stream;
vslNewStream(&stream, VSL_BRNG_SFMT19937, 777);
double pUNIF = 0.0;
vdRngUniform(VSL_RNG_METHOD_UNIFORM_STD_ACCURATE, stream, 1, &pUNIF, 0.0, 1.0);
vslDeleteStream(&stream);
std::cout << pUNIF << std::endl;
std::cout << "END"<< std::endl;
system("pause");
return 0;
}
I put in properties --> configurations properties --> VC++ directories
- exectuable directories : C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\redist\ia32\mkl;C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\bin;C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\bin\ia32;$(ExecutablePath)
- include directories : C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\mkl\include\ia32;C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\mkl\include;$(IncludePath)
- library directories : C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\ia32;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\mkl;C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\mkl\lib\ia32;$(LibraryPath)
In properties --> configurations properties --> linker --> input I tried to put :
mkl_core_dll.lib
mkl_intel_thread_dll.lib
mkl_intel_c_dll.lib
and to add here mkl_sequential_dll.lib or mkl_rt.lib
In the system PATH environment variable I put this :
C:\Program Files (x86)\Intel\Composer XE\redist\ia32\mkl;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\mkl;C:\Program Files (x86)\Intel\Composer XE\compiler\lib\ia32;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\ia32;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\include\ia32;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\include;
Now, when I build the project, everything is fine,
But, when I run with F5 the exectuable in debug mode, I have an error telling me that the
mkl_intel_thread.dll is missing or that the mkl_sequential.dll is missing or that the mkl_rt.dll is missing, even if I put them in properties --> configurations properties --> linker --> input and even if I put "C:\Program Files %28x86%29\Intel\Composer XE 2013 SP1\redist\ia32\mkl;" in executable directories as well as in library directories.
As I cannot even succeed in properly linking in a simple console project, I would really appreciate help to solve this problem before tackling the ATL/COM dll one. (On this one, I have downloaded the project from http://software.intel.com/en-us/forums/topic/401425#comment-1764824 and experienced the very same errors than descibed there...)
If anyone can help, thx in advance,
Regards,
Pierre