どうしても分からなかったため質問失礼します。
LSL環境を使うためのmファイルなのですが実行するとエラーを出してしまいます。
以下が実行したいプログラムになります
function hlib = lsl_loadlib(binarypath,debugging,keep_persistent)
if ~exist('binarypath','var') || isempty(binarypath)
binarypath = [fileparts(mfilename('fullpath')) filesep 'bin']; end
if ~exist('debugging','var') || isempty(debugging)
debugging = false; end
if ~exist('keep_persistent','var') || isempty(keep_persistent)
keep_persistent = true; end
persistent lib;
if keep_persistent && ~isempty(lib)
hlib = lib;
else
if ispc
ext = '.dll';
elseif ismac
ext = '.dylib';
elseif isunix
ext = '.so';
else
error('Your operating system is not supported by this version of the lab streaming layer API.');
end
if strfind(computer,'64')
bitness = '64';
else
bitness = '32';
end
if debugging
debug = '-debug';
else
debug = '';
end
dllpath = [binarypath filesep 'liblsl' bitness debug ext];
if ~exist(dllpath,'file')
error(['Apparently the file "' dllpath '" is missing on your computer. Cannot load the lab streaming layer.']); end
try
hlib = lsl_loadlib_(dllpath);
catch e
disp('See https://github.com/labstreaminglayer/liblsl-Matlab/#troubleshooting for troubleshooting tips');
error(['Error loading the liblsl library: ', e.message]);
end
hlib.on_cleanup = onCleanup(@()lsl_freelib_(hlib));
if keep_persistent
lib = hlib; end
end
こちらがエラー文です。
エラー: lsl_loadlib (line 69)
Error loading the liblsl library: 関数 'lsl_loadlib_' (タイプ'char' の入力引数) が未定義です。
またこのエラーが起こった際に実行するべきmファイルがあったのですがこちらもエラーを出してしまいました。
こちらがmexを用いて行われておりこの関数の指定している物がよく分かっておりません。
libs = {'-llsl64'};
if ispc
dllext = 'dll';
elseif ismac
dllext = 'dylib';
elseif isunix
dllext = 'so';
libs = {'-llsl64','-ldl'};
end
if isempty(dir(['bin/liblsl64.', dllext]))
error(['liblsl64.' dllext ' not found in bin/']);
end
ext = ['.' mexext];
files = dir('mex/*.c');
cd('bin');
for i = 1:length(files)
f = files(i);
[~, base, ~] = fileparts(f.name);
targetstats = dir([base, ext]);
if isempty(targetstats) || f.datenum > targetstats.datenum
mex('-I../../liblsl/include','-L.', libs{:}, ['../mex/', f.name]);
else
disp([base, ext, ' up to date']);
end
end
if ismac
system('install_name_tool -add_rpath "@loader_path/" lsl_loadlib_.mexmaci64')
end
cd('..');
エラー文がこちらです
>> build_mex
エラー: mex
MEX は -l オプションで指定されたライブラリ 'lsl64' を見つけることができません。
MEX は、名前が次のいずれかであるファイルを検索しました:
liblsl64.lib
lsl64.lib
ライブラリ名が正しいことを確認してください。ライブラリが既存のパスに
存在しない場合、-L オプションでパスを指定してください。
エラー: build_mex (line 30)
mex('-I../../liblsl/include','-L.', libs{:}, ['../mex/', f.name]);
解決方法かもしくはエラー文の原因に推測されるものを教えてください。
よろしくお願いします。