Multiple include paths in mex

38 ビュー (過去 30 日間)
matuser123
matuser123 2016 年 4 月 19 日
回答済み: Philip Borghesani 2016 年 4 月 19 日
I have a source file with headers in multiple directories that I'm compiling.
mex -v -IC:\working\tempInclude1 -IC:\working\tempInclude2 mexTest.cpp
returns
arguments = -IC:\working\tempInclude1 -IC:\working\tempInclude2
and works fine. But if I try to use the syntax below,
srcFile = 'mexTest.cpp';
ipath = ['-I' fullfile(pwd,'tempInclude1') ' -I' fullfile(pwd,'tempInclude2')];
mex('-v',ipath,srcFile)
it returns
arguments = -I"C:\working\tempInclude1 -IC:\working\tempInclude2"
and that double quote causes the command to fail. Any ideas? When I look at ipath, there is no quote in it.

採用された回答

Philip Borghesani
Philip Borghesani 2016 年 4 月 19 日
You need to use two different variables or a cell array of paths:
path1 = ['-I' fullfile(pwd,'tempInclude1')];
path2 = ['-I' fullfile(pwd,'tempInclude2')];
mex('-v',path1,path2,srcFile)
or
ipaths = {['-I' fullfile(pwd,'tempInclude1')], ['-I' fullfile(pwd,'tempInclude2')];}
mex('-v',ipaths{:}, srcFile)
I suggest reading up on how command mode differs from function calling mode. matlab command syntax vs function syntax

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Compiler についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by