Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

New comer's question!

fanhanqi
Beginner
328 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
328 Views
Add libguide to the list of linked libraries. This should be called out in examples provided with MKL.
0 Kudos
ilyaeck
Beginner
328 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
328 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