我的问题是this issue与CPLEX 12.8(与以前的版本不同,它需要-ldl
链接器标志)。我在Ubuntu 16.04中使用代码块(用于C ++),并且已经尝试在链接器设置(其他链接器选项)中添加-ldl
标志。不幸的是它不起作用。我也找不到link中提到的文件“FindCplex.cmake”。如果你能帮我解决这个问题,我很感激。
以下是构建日志,以备不时之需:
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): 在函数
mkl_serv_set_memory_limit': mkl_memory.c:(.text+0x5a9): undefined reference to
dlopen'mkl_memory.c :(。text + 0x5ca)中:undefined 引用dlsym' mkl_memory.c:(.text+0x618): undefined reference to
dlsym'mkl_memory.c :(。text + 0x62e):未定义引用dlsym' mkl_memory.c:(.text+0x644): undefined reference to
dlsym' mkl_memory.c :(。text + 0x739):对dlerror' mkl_memory.c:(.text+0x78c): undefined reference to
dlopen'的未定义引用 mkl_memory.c :(。text + 0x840):对dlopen' mkl_memory.c:(.text+0x856): undefined reference to
dlerror'的未定义引用 mkl_memory.c :(。text + 0x91a):对dlopen' mkl_memory.c:(.text+0x922): undefined reference to
dlerror'的未定义引用 mkl_memory.c :(。text + 0x937):对dlsym' mkl_memory.c:(.text+0x95a): undefined reference to
dlopen'的未定义引用 mkl_memory.c :(。text + 0x962):对dlerror' mkl_memory.c:(.text+0x972): undefined reference to
dlsym'的未定义引用 mkl_memory.c :(。text + 0x98d):对dlerror' /opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function
mkl_serv_allocate'的未定义引用:mkl_memory.c :(。text + 0x1897): 未定义引用dlopen' mkl_memory.c:(.text+0x18b8): undefined reference to
dlsym'mkl_memory.c :(。text + 0x1906):undefined reference 到dlsym' mkl_memory.c:(.text+0x191c): undefined reference to
dlsym' mkl_memory.c :(。text + 0x1932):对dlsym' mkl_memory.c:(.text+0x1a27): undefined reference to
dlerror'的未定义引用 mkl_memory.c :(。text + 0x1a7a):对dlopen' mkl_memory.c:(.text+0x1b2e): undefined reference to
dlopen'的未定义引用 mkl_memory.c :(。text + 0x1b44):对dlerror' mkl_memory.c:(.text+0x1c07): undefined reference to
dlopen'的未定义引用 mkl_memory.c :(。text + 0x1c0f):对dlerror' mkl_memory.c:(.text+0x1c24): undefined reference to
dlsym'的未定义引用 mkl_memory.c :(。text + 0x1c47):对dlopen' mkl_memory.c:(.text+0x1c4f): undefined reference to
dlerror'的未定义引用 mkl_memory.c :(。text + 0x1c5f):对dlsym' mkl_memory.c:(.text+0x1c7a): undefined reference to
dlerror'的未定义引用 /opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): 在函数mkl_serv_malloc': mkl_memory.c:(.text+0x2296): undefined reference to
dlopen'mkl_memory.c :(。text + 0x22b7)中:未定义的引用 到dlsym' mkl_memory.c:(.text+0x2305): undefined reference to
dlsym' mkl_memory.c :(。text + 0x231b):对dlsym' mkl_memory.c:(.text+0x2331): undefined reference to
dlsym'的未定义引用 mkl_memory.c :(。text + 0x2426):对dlerror' mkl_memory.c:(.text+0x2479): undefined reference to
dlopen'的未定义引用 mkl_memory.c :(。text + 0x252b):对dlopen' mkl_memory.c:(.text+0x2541): undefined reference to
dlerror'的未定义引用 mkl_memory.c :(。text + 0x2604):对dlopen' mkl_memory.c:(.text+0x260c): undefined reference to
dlerror'的未定义引用 mkl_memory.c :(。text + 0x2621):对dlsym' mkl_memory.c:(.text+0x2644): undefined reference to
dlopen'的未定义引用 mkl_memory.c :(。text + 0x264c):对dlerror' mkl_memory.c:(.text+0x265c): undefined reference to
dlsym'的未定义引用 mkl_memory.c :(。text + 0x2677):对dlerror' /opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function
mkl_serv_deallocate'的未定义引用:mkl_memory.c :(。text + 0x3825): 未定义引用dlopen' mkl_memory.c:(.text+0x3846): undefined reference to
dlsym'进程以状态1终止(0分钟,3 秒(s))50个错误,15个警告(0分钟,3秒(s))