Unfortunately I'm new to C++ compiling, and I've been thrown in at the deep end and asked to convert an Intel C++ compiled DLL on Windows into the Linux equivalent (which I believe to be a dynamically linked shared object?).
I think I have successfully altered the code so that it should compile, but it seems to be tripping up when it comes to linking. I'm getting dozens of errors in the format 'source.cpp: undefined reference to `ippsMalloc_64f' in function 'someFunction'', and ippsMalloc_64f can be replaced with ippsfree, ippsSet_64f etc...
I'm assuming that the problem lies with my arguments that I pass to the compiler. These are:
$ icpc *.cpp -I$MKLROOT/include -I$IPPROOT/include -L$IPPROOT/lib/intel64 -L$MKLROOT/lib/intel64
My environment variables: IPPROOT is /opt/intel/composer_xe_2013.5.192/ipp, and MKLROOT is /opt/intel/composer_xe_2013.5.192/mkl
O/S is Fedora 18. Each source file has #include<ipp.h> and #include<mkl.h> at the top.
What am I doing wrong, and how do I specify to output a shared object?
Thanks, and sorry for the amateur questions.
Thomas