Я пытаюсь использовать библиотеки повышения для написания многопоточной функции MEX.Я установил библиотеки Boost и протестировал их с помощью Visual Studios.Я написал следующую функцию MEX и попытался встроить ее в консоль MATLAB:
#include "mex.h"
#include <boost/filesystem.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/thread/thread.hpp>
#include <boost/lockfree/spsc_queue.hpp>
#include <boost/atomic.hpp>
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
}
Это был вывод
>> mex simpleBoostExample.cpp -IC:\Folder\OtherFolder\MATLAB\Files\boost\boost_1_67_0
Building with 'Microsoft Visual C++ 2017'.
Error using mex
LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc141-mt-x64-1_67.lib'
Теперь я уже добавил файлы библиотеки Boost вMATLAB PATH вот так:
path(oldpath, 'C:\Folder\OtherFolder\MATLAB\Files\boost\boost_1_67_0')
setenv('PATH', [getenv('PATH') ';C:\Folder\OtherFolder\MATLAB\Files\boost\boost_1_67_0\stage\lib']);
Так что я не уверен, что мне не хватает.