一个编译错误

编译器自动将memcpy替换成了_intel_fast_memcpy,我们在生成动态链接库的时候,如果使用icc、icpc或xild链接,a.so会依赖于一些intel的库,其中的/opt/intel/composerxe-2011.2.137/compiler/lib/intel64/libintlc.so.5就包含这个函数的定义。而gcc是不知道a.o是依赖于icc的库的,如果用gcc生成.so,在使用该 so的时候,自然会报undefined symbol _intel_fast_memcpy。


 

 

 [root@localhost tests_jpeg]# vi Makefile 

testJPEG:
        gcc -lm  cjpeg.c -o testJEPG libirc_s.a jpegEnc.al /usr/lib/libintlc.so
clean:
        rm *.o -rf testJPEG
~                                                                                                                                          
~                                                                                                                                          
~                                                                                                                                          
~                                                                                                                                          
~                                            

你可能感兴趣的:(编译)