Antonio
Posts: 2 Joined: Sat Oct 22, 2011 10:24 am
Post
by Antonio » Sat Oct 22, 2011 10:39 am
Hi!
I've read in the documentation the possibility of using a Matlab box, and i would like to try it (i'm working on the Win7 OS).
I've tried to add the matlab box uncommenting the line:
Code: Select all
echo %OpenViBE_plugin_matlab% >> %OpenViBE_build_order%
in the win32_init_env_command.cmd file and adding the line
Code: Select all
SET OV_DEP_MATLAB=C:\MATLAB\r2011a
in the win32-dependencies.cmd file.
But I had these errors (i believe related to the 3 initial warnings):
Code: Select all
1>LINK : warning LNK4199: /DELAYLOAD:libeng.dll ignored; no imports found from libeng.dll
1>LINK : warning LNK4199: /DELAYLOAD:libmx.dll ignored; no imports found from libmx.dll
1>LINK : warning LNK4199: /DELAYLOAD:libmex.dll ignored; no imports found from libmex.dll
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engOpen referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::OpenMatlabEngineSafely(void)" (?OpenMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxCreateDoubleMatrix_730 referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::initialize(void)" (?initialize@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engEvalString referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::initialize(void)" (?initialize@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engClose referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::CloseMatlabEngineSafely(void)" (?CloseMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxDestroyArray referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::CloseMatlabEngineSafely(void)" (?CloseMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxGetDimensions_730 referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxIsDouble referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engGetVariable referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engPutVariable referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engOutputBuffer referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxGetPr referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
1>C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.dll : fatal error LNK1120: 11 unresolved externals
Any suggestion
?
Thank you,
Antonio
lbonnet
Site Admin
Posts: 417 Joined: Wed Oct 07, 2009 12:11 pm
Post
by lbonnet » Mon Oct 24, 2011 11:31 am
Hi Antonio !
Code: Select all
1>ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engOpen referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::OpenMatlabEngineSafely(void)" (?OpenMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
It seems like the linker does not find the Matlab .lib files.
When building the Matlab Filter box, you should have the CMAKE log just before the compilation. Please copy-paste this part of the build,so we can check if CMAKE found matlab (and its libs).
You should have :
Code: Select all
-- Found Matlab...
-- [ OK ] Third party lib C:/Program Files/MATLAB/R2011a/extern/lib/win32/microsoft/libmex.lib
-- [ OK ] Third party lib C:/Program Files/MATLAB/R2011a/extern/lib/win32/microsoft/libmx.lib
-- [ OK ] Third party lib C:/Program Files/MATLAB/R2011a/extern/lib/win32/microsoft/libeng.lib
In my case Matlab is installed in
C:/Program Files/ , so I have:
Code: Select all
SET OV_DEP_MATLAB=C:\Program Files\MATLAB\r2011a
Laurent-
Laurent-
Follow us on twitter >>
openvibebci
Checkout my (old) blog for some OpenViBE tips & tricks :
here !
Antonio
Posts: 2 Joined: Sat Oct 22, 2011 10:24 am
Post
by Antonio » Mon Oct 31, 2011 11:26 am
Hi,
Thank you for the answer.
I'm not sure to have understood exactly what copy-paste, anyway i think it could be the file BuildLog.htm (BuildLog of the OpenViBE-plugins-matlab-dynamic).
Code: Select all
Build Log
Build started: Project: OpenViBE-plugins-matlab-dynamic, Configuration: Debug|Win32
Command Lines
Creating temporary file "c:\Openvibe\local-tmp\visual\trunc\OpenViBE-plugins-matlab-dynamic.dir\Debug\RSP00005956045284.rsp" with contents
[
/OUT:"C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.dll" /VERSION:0.0 /INCREMENTAL /LIBPATH:"C:\Openvibe\openvibe\trunc\lib\Debug" /LIBPATH:"C:\Openvibe\openvibe\trunc\lib" /LIBPATH:"C:\Openvibe\openvibe-toolkit\trunc\lib\Debug" /LIBPATH:"C:\Openvibe\openvibe-toolkit\trunc\lib" /LIBPATH:"C:\Openvibe\openvibe-modules\system\trunc\lib\Debug" /LIBPATH:"C:\Openvibe\openvibe-modules\system\trunc\lib" /DLL /MANIFEST /MANIFESTFILE:"OpenViBE-plugins-matlab-dynamic.dir\Debug\OpenViBE-plugins-matlab-dynamic.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.pdb" /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.lib" /STACK:10000000 /machine:X86 /debug /DELAYLOAD:libeng.dll /DELAYLOAD:libmx.dll /DELAYLOAD:libmex.dll kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib C:\Openvibe\openvibe\trunc\lib\OpenViBE-dynamic.lib C:\Openvibe\openvibe-toolkit\trunc\lib\OpenViBE-toolkit-dynamic.lib C:\Openvibe\openvibe-modules\system\trunc\lib\OpenViBE-module-System-dynamic.lib Delayimp.lib
".\OpenViBE-plugins-matlab-dynamic.dir\Debug\ovpCBoxAlgorithmMatlabFilter.obj"
".\OpenViBE-plugins-matlab-dynamic.dir\Debug\ovp_main.obj"
".\OpenViBE-plugins-matlab-dynamic.dir\Debug\OpenViBE-plugins-matlab-dynamic.dll.embed.manifest.res"
]
Creating command line "link.exe @"c:\Openvibe\local-tmp\visual\trunc\OpenViBE-plugins-matlab-dynamic.dir\Debug\RSP00005956045284.rsp" /NOLOGO /ERRORREPORT:PROMPT"
Output Window
Linking...
Creating library C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.lib and object C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.exp
LINK : warning LNK4199: /DELAYLOAD:libeng.dll ignored; no imports found from libeng.dll
LINK : warning LNK4199: /DELAYLOAD:libmx.dll ignored; no imports found from libmx.dll
LINK : warning LNK4199: /DELAYLOAD:libmex.dll ignored; no imports found from libmex.dll
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engOpen referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::OpenMatlabEngineSafely(void)" (?OpenMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxCreateDoubleMatrix_730 referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::initialize(void)" (?initialize@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engEvalString referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::initialize(void)" (?initialize@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engClose referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::CloseMatlabEngineSafely(void)" (?CloseMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxDestroyArray referenced in function "private: bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::CloseMatlabEngineSafely(void)" (?CloseMatlabEngineSafely@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@AAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxGetDimensions_730 referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxIsDouble referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engGetVariable referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engPutVariable referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _engOutputBuffer referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
ovpCBoxAlgorithmMatlabFilter.obj : error LNK2019: unresolved external symbol _mxGetPr referenced in function "public: virtual bool __thiscall OpenViBEPlugins::Local::CBoxAlgorithmMatlabFilter::process(void)" (?process@CBoxAlgorithmMatlabFilter@Local@OpenViBEPlugins@@UAE_NXZ)
C:\Openvibe\local-tmp\visual\trunc\Debug\OpenViBE-plugins-matlab-dynamic.dll : fatal error LNK1120: 11 unresolved externals
Results
Build log was saved at "file://c:\Openvibe\local-tmp\visual\trunc\OpenViBE-plugins-matlab-dynamic.dir\Debug\BuildLog.htm"
OpenViBE-plugins-matlab-dynamic - 12 error(s), 3 warning(s)
Thanks,
Antonio
ddvlamin
Posts: 160 Joined: Thu Aug 13, 2009 8:39 am
Location: Ghent University
Contact:
Post
by ddvlamin » Fri Jan 06, 2012 8:31 am
Hi,
Sorry, maybe we missed this post.
I think lbonnet refers to the log or the output on the comand line while compiling openvibe. I'm not sure where it is saved, but you can catch its output by compiling with the following command "win32-build.cmd > compile_log.txt". Somewhere it should indicate lines with square brackets (like in lbonnet's post) with either the status OK or FAILED, those are the lines he is interested in (only the ones concerning matlab).
anyway the path you gave to matlab in the win32-dependencies.cmd file, is it the right path to your matlab directory (I assume so, but you never know)?
Hopefully, the developers will be able to help you further.
Best regards,
Dieter Devlaminck