Community
cancel
Showing results for 
Search instead for 
Did you mean: 
loginunavailable
Beginner
113 Views

Missing library and

I tried to addMKL libraries to avisual C++ 6.0 project and was partially successful. I followed instructions given to me by someone else who had done it successfully which I've included at the end of this message. Despite following those instructions I got the following messages.

In file included from z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml.h:36,

from z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl.h:33,

from KWICIma2DFunctor.cpp:19:

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:58: error: expected initializer before 'VSABS'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:59: error: expected initializer before 'VDABS'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:60: error: expected initializer before 'vsabs'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:61: error: expected initializer before 'vdabs'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:62: error: expected initializer before 'vsAbs'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:63: error: expected initializer before 'vdAbs'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:66: error: expected initializer before 'VCABS'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:67: error: expected initializer before 'VZABS'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:68: error: expected initializer before 'vcabs'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:69: error: expected initializer before 'vzabs'

z:/n4_extsw/x86/extsw/MKL/10.2.5.035/include/mkl_vml_functions.h:70: error: expected initializer before 'vcAbs'

there are many more expected initializer error messages after the above

I also got the message

LNK2001 unresolved external symbol _cblas_cdotu_sub

Does anyone have anyidea how to solve these problems.

Here is the procedure I used to get my c++ program to work with MKL. This was done for software written by siemens so the paths and variable names below are theirs.

--------------------------------------------------------------------------------

1) Change the main MakeIce.mk, because it overwrites XLINUX_LIB_PATHS,

which means that any changes in the local file don't work. Added this

line to n4\\pkg\\MrApplications\\MrIDEA\\utils\\MakeIce.mk:

XLINUX_LIB_PATHS += -L $(IDEA_BASE)/n4_extsw/vista_xlinux/extsw/mkl/em64t

2) Add the following to your makefile:

INCLPATHS_LOCAL += -I$(IDEA_BASE)/n4_extsw/x86/extsw/MKL/10.2.5.035/include

XLINUX_INCLUDE_PATHS += -I$(IDEA_BASE)/n4_extsw/x86/extsw/MKL/10.2.5.035/include

3) Copy the MKL include directory from Intel directory to

n4_extsw/x86/extsw/MKL/10.2.5.035/include.

4) Copy

mkl_core.lib

mkl_sequential.lib

mkl_intel.lib

mkl_core_dll.lib

mkl_sequential_dll.lib

mkl_intel_dll.lib

from

C:\\Program Files\\Intel\\MKL\\10.2.5.035\\ia32\\lib

to

n4_deli_vb17a\\x86\\delivery\\lib.

5) Make copies of the core, sequential and intel libraries with a "d" added

before the ".lib". I don't know if this is the best thing to do,

but it works.

6) Include mkl.h, or at least include explicit prototypes of any methods that you want to use from MKL. (I do the latter, to avoid type conflicts.)

0 Kudos
6 Replies
Chao_Y_Intel
Employee
113 Views

Hello,

MKL does not support VC++ 6.0 now, and it require Microsoft Visual Studio* 2005 at least. The libraries for Intel MKLdoes not look correct in the linkage. It should be like the following for the sequential libraries: mkl_intel_c.lib mkl_sequential.lib mkl_core.lib

Thanks,
Chao

loginunavailable
Beginner
113 Views

Hello,

MKL does not support VC++ 6.0 now, and it require Microsoft Visual Studio* 2005 at least. The libraries for Intel MKLdoes not look correct in the linkage. It should be like the following for the sequential libraries: mkl_intel_c.lib mkl_sequential.lib mkl_core.lib

Thanks,
Chao

Chao

I was using an older version of MKL 10.2.5.035. The libraries are the ones from that version.

Gamaliel
loginunavailable
Beginner
113 Views

Hello,

MKL does not support VC++ 6.0 now, and it require Microsoft Visual Studio* 2005 at least. The libraries for Intel MKLdoes not look correct in the linkage. It should be like the following for the sequential libraries: mkl_intel_c.lib mkl_sequential.lib mkl_core.lib

Thanks,
Chao

Chao,

I have to use visual C++ 6.0 because that's what Siemens uses and I'm programming their code. Siemens is using an MKL library at present on their MRI scanners even though they use the visual c++ 6.0 programming environment for windows. They also use a linux computer where I think g++ is running with mkl.

Gamaliel
TimP
Black Belt
113 Views

In order to work with the no longer supported VC++ 6, you would need to use a no longer supported version of MKL which matches VC++ 6. If there is a reason for continuing to use the obsolete software, it's imperative that the expected version of MKL should be specified by the designers of the project. This may resolve your linkage specification problem.
loginunavailable
Beginner
113 Views

The oldest version of MKL I could find is version 10 and according to the system requirements document it has not been tested with visual C++ 6.0. Is there an older version of MKL online that has been tested with visual C++ 6.0?
Gennady_F_Intel
Moderator
113 Views

no, version 10.0 is the latest version supported now, but please pay attention what Chao said in thread#2.

please try to check would this linking line "mkl_intel_c.lib mkl_sequential.lib mkl_core.lib" help you?

LNK2001 unresolved external symbol _cblas_cdotu_sub - these symbols are resolved from

mkl_intel_c.lib.

Reply