Как построить функцию MEX с помощью Boost Libraries? - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь использовать библиотеки повышения для написания многопоточной функции 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']);

Так что я не уверен, что мне не хватает.

1 Ответ

0 голосов
/ 02 января 2019

Используйте -L и -l для связи с динамической библиотекой объектов имя_библиотеки in (необязательно) libfolder .

-LC: \ Folder\ OtherFolder \ MATLAB \ Files \ boost \ boost_1_67_0 -llibboost_filesystem-vc141-mt-x64-1_67.lib

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...