C 如何将Intel MKL和libdl与gold linker链接?

C 如何将Intel MKL和libdl与gold linker链接?,c,centos,glibc,intel-mkl,gold-linker,C,Centos,Glibc,Intel Mkl,Gold Linker,我在CentOS上使用黄金链接器链接Intel MKL和libdl时遇到问题: 运行此脚本时: #!/bin/bash MKL_INC=$MKL_INSTALL_DIR/include MKL_LIB=$MKL_INSTALL_DIR/lib . /opt/rh/devtoolset-6/enable cat > t.c << end_mkltest #include <dlfcn.h> #include "mkl_service.h" int main(

我在CentOS上使用黄金链接器链接Intel MKL和libdl时遇到问题:

运行此脚本时:

#!/bin/bash

MKL_INC=$MKL_INSTALL_DIR/include
MKL_LIB=$MKL_INSTALL_DIR/lib

. /opt/rh/devtoolset-6/enable

cat > t.c << end_mkltest

#include <dlfcn.h>
#include "mkl_service.h"

int main() {
    dlerror();              /* use libdl */
    mkl_set_num_threads(1); /* use mkl   */
}

end_mkltest

gcc -I$MKL_INC -c t.c -o t.o
gcc -L$MKL_LIB -fuse-ld=gold t.o -lmkl_rt -ldl
我们正在使用:

CentOS 7.3
devtoolset-6
mkl-2017.2.174.tar.bz2

有什么想法吗?

这应该行得通。你能发布这个命令所显示的链接器命令吗

gcc -v -L$MKL_LIB -fuse-ld=gold t.o -lmkl_rt -ldl

(很抱歉,由于缺乏声誉,无法将此作为评论发布。)

这应该有效。你能发布这个命令所显示的链接器命令吗

gcc -v -L$MKL_LIB -fuse-ld=gold t.o -lmkl_rt -ldl
(很抱歉,由于缺乏声誉,无法将此作为评论发布。)