Clear Filters
Clear Filters

include files

11 views (last 30 days)
Natalia
Natalia on 2 Apr 2011
Hello! Help me please.I want to use Ogre3D in mex (for s-function). http://www.ogre3d.org/ But my .cpp file contains OGRE's include files which Matlab doesn't see. In Visual Studio it can be adjusted in properties of solution. http://s001.radikal.ru/i196/1104/e6/e04d2a5746f8.jpg Is it possible to make so in Matlab? I will be grateful for any answer.Thank you.

Accepted Answer

Jarrod Rivituso
Jarrod Rivituso on 2 Apr 2011
When you use the mex function, you should be able to use the -I flag to specify the include directories.
Is that what you are looking for?
  5 Comments
Jarrod Rivituso
Jarrod Rivituso on 2 Apr 2011
Hi Natalia,
You need to put both the include path and the source files. So, for instance...
mex -IC:\OgreSDK\samples\include mymexfile.c
Walter Roberson
Walter Roberson on 4 Apr 2011
getenv() requires the name of an environment variable as its input, such as
getenv('OGRE_HOME')
to verify that OGRE_HOME is set.

Sign in to comment.

More Answers (2)

Natalia
Natalia on 2 Apr 2011
I should do this operation for each folder? Or it is enough to add a folder which includes all the others?
In Visual Studio it looks:
Code
+ Configuration Properties
General
* Output Directory: $(OGRE_HOME)\bin\$(ConfigurationName)
* Intermediate Directory: $(OGRE_HOME)\obj\$(ConfigurationName)
Debugging
* Command: $(OGRE_HOME)\bin\$(ConfigurationName)\$(TargetFileName)
* Working Directory: $(OGRE_HOME)\bin\$(ConfigurationName)
C++
General
* Additional Include Directories: ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include
Linker
General
* Additional Library Directories: "$(OGRE_HOME)\lib"
Input
* Additional Dependencies: OgreMain_d.lib OIS_d.lib
  1 Comment
Jarrod Rivituso
Jarrod Rivituso on 2 Apr 2011
Yes, you will need to add each include path and the library directories. Use the -l and -L flags to add library paths (-l) and actual library files (-L).
Again, the documentation has a table of all supported compiler switches:
http://www.mathworks.com/help/techdoc/ref/mex.html

Sign in to comment.


Natalia
Natalia on 2 Apr 2011
mex -IC:\OgreSDK\samples\include ExampleApplication.h
C:\PROGRA~1\MATLAB\R2010B\BIN\MEX.PL: Error: 'ExampleApplication.h' not found.
??? Error using ==> mex at 208
Unable to complete successfully.
I do not understand why there is an error...
And if I have 1000 include files.... I should specify all of them? By the way, simstruc.h I shouldn't specify a file, is it mean there are default folders in matlab?
  3 Comments
Natalia
Natalia on 5 Apr 2011
Thank you! Your answers as always the most exact and clear for me :)
Kaustubha Govind
Kaustubha Govind on 5 Apr 2011
Glad to be of help. :)

Sign in to comment.

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!