链接到Matlab Compiler SDK生成的c ++共享库

时间:2016-12-09 09:07:16

标签: c++ shared-libraries matlab-compiler

尝试部署与 Matlab编译器SDK 生成的C ++共享库集成的 C ++代码。 Matlab编译器SDK生成了一个包含test.h, test.so, and readme.txt

的文件夹
  1. 安装Matlab_runtime MCR 2.根据readme.txt编辑库链接路径打开主目录和gedit~ / .bashrc文件,添加环境变量XAPPLRESDIR&根据readme.txt文件中的LD_LIBRARY_PATH 3.编写驱动程序代码main.cpp并编译main.cpp代码使用:
  2.   

    克++   -L /家庭/元/文档/ Matlab2016b / Matlab_runtime / V91 /的extern / LIB / glnxa64

         

    -L /家庭/元/文档/ Matlab2016b / Matlab_runtime / V91 /斌/ glnxa64

         

    -I / home / yuan / Documents / Matlab2016b / Matlab_runtime / v91 / extern / include

         

    -L./test main.cpp -o main

    我收到了错误:

      

    /tmp/cc3Xemzh.o:在函数main中:main.cpp :(。text + 0xa):undefined   对mclmcrInitialize_proxy

    的引用      

    main.cpp :(。text + 0x19):未定义引用   mclInitializeApplication_860_proxy

         

    main.cpp :(。text + 0x48):对testInitialize的未定义引用

         

    main.cpp :(。text + 0x77):对mlfTest的未定义引用

         

    main.cpp :(。text + 0x98):对testTerminate的未定义引用

         

    main.cpp :(。text + 0x9d):未定义引用   `mclTerminateApplication_proxy

         

    collect2:错误:ld返回1退出状态

    这应该是链接库的问题,但我不知道如何解决这个问题,任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:0)

仅编辑库链接路径You must explicitly link against mclmcrrt.so

是不够的