连接不匹配的std::线程从Matlab共享对象

7视图(30天)
我有一个Matlab运行可执行文件(墨西哥人),有一个很大的层次功能。我试图建立一个测试应用程序的内部函数。
  1. 我编译的墨西哥人来源为非静态共享对象。libMyMex。所以从matlab ' b本有许多依赖关系。配置LD_LIBRARY_PATH显示所有依赖项解析wihen ldd libMyMex.so运行
  2. 然后我创建了一个主要的。c和调用一个内部从libMyMex c函数。soI和连接的主要问题。与libMyMex.so o。
海湾合作委员会- l - l /我/墨西哥人/ /位置/ opt / matlab2018 / sys / os / glnxa64 / - l / opt / matlab2018 / bin / glnxa64 - o“主要”
/ src / main。o -lMyMex -lpthread附近地区-lmwservices -lmwfoundation_matlabdata_matlab -lmwfoundation_extdata_array -lmwmvm -lmwmpath -lmwm_dispatcher -lmwi18n -lmwmlutil -lmwfoundation_usm -lmwboost_log -lmwgenerate_diag_message -lmwmcos -lmwboost_log -lmwboost_system -lmwboost_thread -lmwcpp11compat -licuuc -lmwfl -lmx -lmex
很显然,我列出链接器的所有依赖项。最后,我得到了这个错误,我不能绕过。
/ opt / matlab2018 / bin / glnxa64 / libCppMicroServices.so.3.1.1:未定义的参考“线程std:::: _State:: ~ _State () @GLIBCXX_3.4.22”
/ opt / matlab2018 / bin / glnxa64 / libCppMicroServices.so.3.1.1:未定义的参考“std::线程::_M_start_thread (std:: unique_ptr < std::线程::_State, std:: default_delete <线程std:::: _State > >,无效(*)())@GLIBCXX_3.4.22”
/ opt / matlab2018 / bin / glnxa64 / libCppMicroServices.so.3.1.1:未定义的参考“typeinfo为std::线程::_State@GLIBCXX_3.4.22
collect2:错误:ld返回1退出状态

答案(0)

类别

找到更多的在生成代码帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!