Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Release Executable cannot find DLL

ursorg
Débutant
2 385 Visites
I built a small executable utilizing a function within the IMSL libraries. If I remain within the Visual Studio .net environment, the files executes as expected. If I go to the Release directory and double-click the executable from the Microsoft Explorer window, I get an error that the 'imsl_dll.dll' cannot be found.
How do I make the executable file stand-alone?
Thanks,
-Robert
0 Compliments
11 Réponses
Steven_L_Intel1
Employé
2 385 Visites

Add the path to where the DLL is to your PATH environment variable.

I'm puzzled that it built the dependency on the DLL. I'm home where I don't have access to the installed software, but I know there are different folders for the INCLUDE/Module files for static and DLL. Perhaps you need to specify the other one and rebuild?

0 Compliments
ursorg
Débutant
2 385 Visites
Hello,
What I wrote is not entirely true. I hadn't tried to run the executable within the VS environment. Basically, whenever I try to run the executable (Release or Debug version) I get an error that the IMSL dll cannot be found. This is odd, since the program compiles and builds just fine.
Also, is there another way to do this as opposed to changing the PATH variable? I do not have administrative rights to my machine (although I can add this to the reasons why I should have it). Therefore, I cannot change the PATH variable. The libraries are not currently part of the path. However, the library pathsare called out within the VS solution - hence compilation and buildare okay.
Another questions is why would a stand-alone execuatable need to know the library path anyway? It's not stand-alone if it depends on the libraries.
Thanks,
-Robert
0 Compliments
Steven_L_Intel1
Employé
2 385 Visites
If you truly built a static-linked executable, it would not be dependent on a DLL. You can put the DLL in the same folder as the EXE.
If you have a project where you think you specified static libraries but got the DLL anyway, please submit a ZIP of the project (just the .vfproj will probably do) to Intel Premier Support.
0 Compliments
ursorg
Débutant
2 385 Visites

How do I ensure it's using the static library, not the DLL?

-Robert

0 Compliments
Steven_L_Intel1
Employé
2 385 Visites
Don't specify the _dll.lib names (such as imsl_dll.lib) when you link.
0 Compliments
ursorg
Débutant
2 385 Visites

Also, under the VNI directory, within LIB/INTEL32/, I do not have an IMSL.LIB. Within the LIB/INTEL64/ directory, I do have an IMSL.LIB. Is this normal?

-Robert

0 Compliments
ursorg
Débutant
2 385 Visites

IfI don't specify the IMSL_DLL.LIB when I link, then I get an unresolved external error for the IMSL routine???

-Robert

0 Compliments
Steven_L_Intel1
Employé
2 385 Visites
Take the _DLL off of the name, for example, imsl.lib.
0 Compliments
ursorg
Débutant
2 385 Visites

An IMSL.LIB file was not includedwith the IMSL routines (at least, there is not one on my machine). The only IMSL.LIB file I have is located in the /LIB/INTEL64/ directory. There isn't one in the /LIB/INTEL32/ directory.

imsl_dll.lib imsls_err.lib imslsmp.lib mkl_c_dll.lib
imslblas.lib imslscalar.lib imslsmp_dll.lib mkl_ia32.lib
imslblas_dll.lib imslscalar_dll.lib mkl_c.lib

-Robert

0 Compliments
Steven_L_Intel1
Employé
2 385 Visites

It sounds as if your install did not complete successfully. Here's what I get:

Directory of C:Program FilesVNICTT5.0libintel32

03/25/2004 04:08 PM

.
03/25/2004 04:08 PM ..
02/25/2004 07:16 PM 35,135,388 imsl.lib
02/25/2004 06:57 PM 856,968 imslblas.lib
02/25/2004 06:29 PM 864,256 imslblas_dll.dll
02/25/2004 06:29 PM 21,074 imslblas_dll.lib
03/03/2004 07:15 PM 112 imslfnl.dat
02/25/2004 07:09 PM 603,252 imslscalar.lib
02/25/2004 06:29 PM 851,968 imslscalar_dll.dll
02/25/2004 06:29 PM 8,330 imslscalar_dll.lib
02/25/2004 06:21 PM 744,198 imslsmp.lib
02/25/2004 06:29 PM 1,085,440 imslsmp_dll.dll
02/25/2004 06:29 PM 9,528 imslsmp_dll.lib
02/25/2004 07:16 PM 43,256 imsls_err.lib
02/25/2004 06:29 PM 19,697,664 imsl_dll.dll
02/25/2004 06:29 PM 1,674,680 imsl_dll.lib
08/05/2003 06:28 PM 3,458,110 mkl_c.lib
08/05/2003 06:28 PM 3,610,376 mkl_c_dll.lib
08/05/2003 06:27 PM 2,441,216 mkl_def.dll
08/05/2003 06:28 PM 15,863,914 mkl_ia32.lib
08/05/2003 06:27 PM 2,793,472 mkl_p3.dll
08/05/2003 06:27 PM 3,485,696 mkl_p4.dll
20 File(s) 93,248,898 bytes
2 Dir(s) 19,004,473,344 bytes free

0 Compliments
ursorg
Débutant
2 385 Visites

Yep, that could be the problem. I only have 19 files, with the IMSL.LIB file missing. I thought I was going crazy? It's in a read only directory, so I wonder what happened. I'll re-install and see what happens.(Note, i did read the advice on re-installation of the IMSL libraries).

I'd been looking through the IMSL documentation for what the final directory structure should look like, but I couldn't find it.

Thanks,

-Robert

0 Compliments
Répondre