standalone MATLAB program: retrieve path and filename
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am using MATLAB R2008b in Windows 7. The compiler is Lcc-win32 C 2.4.1. I tried to make an exe file from an m file which can retrieve its path and filename. A colleague gave me a C file (mlgetmodulefilename.c) and suggested me to use mcc -m XYZ.m mlgetmodulefilename.c to generate XYZ.exe
First, I got some errors regarding matlab.h. So I copied, pasted, and renamed mex.h to matlab.h. Then, I faced the following error and warning:
Warning: Name is nonexistent or not a directory: C:\Program Files\MATLAB\R2008b\toolbox\compiler\patch.
c:\users\user\appdata\local\temp\mbuild~1\mlgetmodulefilename.obj .text: undefined reference to '_mxCreateString'
Can anybody help me with this? Thank you.
mlgetmodulefilename.c
#include "matlab.h"
#include <stdio.h>
#include <windows.h>
#include "megetmodulefilename_external.h"
/*
INPUT
None
OUTPUT
None
RETURN
The full filename of the calling function
SYNOPSIS
*/
#define BUFSIZE 255
mxArray * Mmegetmodulefilename(int nargout_)
{
DWORD buflen;
TCHAR lpFilename[BUFSIZE]=TEXT("");
buflen = GetModuleFileName(NULL, lpFilename, BUFSIZE);
if (buflen == 0) {
return (mxCreateString("") );
}
else {
return (mxCreateString(lpFilename) );
}
}
0 commentaires
Réponses (3)
Titus Edelhofer
le 30 Avr 2015
Hi Kevin,
I'm not sure what the getmodulefilename is supposed to do,and even less, why you want to incorporate into your standalone executable?
Titus
0 commentaires
Voir également
Catégories
En savoir plus sur C Shared Library Integration dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!