Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

New comer's question!

fanhanqi
Beginner
688 Views
I am a new comer to the MKL.

My IDE is VC++.net, and MKL is 8.0.1





Here is my test code, and the following is the linkage error. I don't know what to do with them.



#include

#include "mkl.h"



extern "C" void sgemm(char *transa,char *transb,int *m,int *n,int *k,float *alpha,float *a,int *lda,float *b,int *ldb,float *beta,float *c,int *ldc);







void main()

{

float alpha = 1.0f;

float beta = 1.0f;

char transa = 'n';

char transb = 'n';

int m = 3;

int n = 3;

int k = 3;



float *a = new float[9];

float *b = new float[9];

float *c = new float[9];



for ( int i = 0; i 9; ++i ){

a = 1.0f;

b = 2.0f;

c = 0.0f;

}

sgemm( &transa, &transb, &m, &n, &k, α, a, &m, b, &n, β, c, &n );



}





Error 1 error LNK2019: unresolved external symbol ___kmpc_global_thread_num referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 2 error LNK2001: unresolved external symbol ___kmpc_global_thread_num mkl_ia32.lib

Error 3 error LNK2001: unresolved external symbol ___kmpc_global_thread_num mkl_ia32.lib

Error 4 error LNK2001: unresolved external symbol ___kmpc_global_thread_num mkl_ia32.lib

Error 5 error LNK2019: unresolved external symbol _omp_in_parallel referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 6 error LNK2001: unresolved external symbol _omp_in_parallel mkl_ia32.lib

Error 7 error LNK2001: unresolved external symbol _omp_in_parallel mkl_ia32.lib

Error 8 error LNK2001: unresolved external symbol _omp_in_parallel mkl_ia32.lib

Error 9 error LNK2019: unresolved external symbol _omp_get_max_threads referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 10 error LNK2001: unresolved external symbol _omp_get_max_threads mkl_ia32.lib

Error 11 error LNK2001: unresolved external symbol _omp_get_max_threads mkl_ia32.lib

Error 12 error LNK2001: unresolved external symbol _omp_get_max_threads mkl_ia32.lib

Error 13 error LNK2019: unresolved external symbol ___kmpc_ok_to_fork referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 14 error LNK2001: unresolved external symbol ___kmpc_ok_to_fork mkl_ia32.lib

Error 15 error LNK2001: unresolved external symbol ___kmpc_ok_to_fork mkl_ia32.lib

Error 16 error LNK2001: unresolved external symbol ___kmpc_ok_to_fork mkl_ia32.lib

Error 17 error LNK2019: unresolved external symbol ___kmpc_fork_call referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 18 error LNK2001: unresolved external symbol ___kmpc_fork_call mkl_ia32.lib

Error 19 error LNK2001: unresolved external symbol ___kmpc_fork_call mkl_ia32.lib

Error 20 error LNK2001: unresolved external symbol ___kmpc_fork_call mkl_ia32.lib

Error 21 error LNK2019: unresolved external symbol ___kmpc_serialized_parallel referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 22 error LNK2001: unresolved external symbol ___kmpc_serialized_parallel mkl_ia32.lib

Error 23 error LNK2001: unresolved external symbol ___kmpc_serialized_parallel mkl_ia32.lib

Error 24 error LNK2001: unresolved external symbol ___kmpc_serialized_parallel mkl_ia32.lib

Error 25 error LNK2019: unresolved external symbol ___kmpc_end_serialized_parall el referenced in function _mkl_blas_p4_sgemm mkl_ia32.lib

Error 26 error LNK2001: unresolved external symbol ___kmpc_end_serialized_parallel mkl_ia32.lib

Error 27 error LNK2001: unresolved external symbol ___kmpc_end_serialized_parallel mkl_ia32.lib

Error 28 error LNK2001: unresolved external symbol ___kmpc_end_serialized_parallel mkl_ia32.lib

Error 29 error LNK2019: unresolved external symbol ___kmpc_for_static_init_4 referenced in function ___mkl_blas_p4_sgemm_276__par_loop0 mkl_ia32.lib

Error 30 error LNK2001: unresolved external symbol ___kmpc_for_static_init_4 mkl_ia32.lib

Error 31 error LNK2001: unresolved external symbol ___kmpc_for_static_init_4 mkl_ia32.lib

Error 32 error LNK2001: unresolved external symbol ___kmpc_for_static_init_4 mkl_ia32.lib

Error 33 error LNK2019: unresolved external symbol ___kmpc_for_static_fini referenced in function ___mkl_blas_p4_sgemm_276__par_loop0 mkl_ia32.lib

Error 34 error LNK2001: unresolved external symbol ___kmpc_for_static_fini mkl_ia32.lib

Error 35 error LNK2001: unresolved external symbol ___kmpc_for_static_fini mkl_ia32.lib

Error 36 error LNK2001: unresolved external symbol ___kmpc_for_static_fini mkl_ia32.lib

Error 37 fatal error LNK1120: 9 unresolved externals D:CLangTestslasDebuglas.exe
0 Kudos
3 Replies
TimP
Honored Contributor III
688 Views
Add libguide to the list of linked libraries. This should be called out in examples provided with MKL.
0 Kudos
ilyaeck
Beginner
688 Views

I'm having a similar problem. Added libguide.lib, but now it complains about missing libirc. Any tips?

Thanks!

0 Kudos
Andrey_G_Intel2
Employee
688 Views
You are trying to use statical version of libguide. Statical libguide have dependences from libirc. You can resolve linkage problems by two ways:
1) use libirc library at linkage stage of your project
2) use dinamical version of libguide - link libguide40.lib instead libguide.lib
0 Kudos
Reply