Использование компилятора Visual C++ в Matlab
Я установил два компилятора в Matlab: LCC и Visual C++ 2008
я хочу загрузить заголовочный файл C++ в Matlab, но когда я хочу это сделать, Matlab использует LCC вместо
Visual C++ и дает мне несколько предупреждений.
я использовал:
mex -setup
mbuild -setup
но Matlab все еще использует LCC для загрузки моего заголовочного файла C++
>> loadlibrary('DLLing.dll', 'DLLTutorial.h')
Предупреждение: Сообщение от препроцессора C:
Ошибка препроцессора lcc: C:\Users\MAHNAZ\Documents\MATLAB\DLLTutorial.h:3 Не удалось найти файл включения
Как я могу сказать Matlab, что использовать компилятор Visual C++ вместо LCC??
3 ответа
Какую версию MatLab вы используете? Это может не предполагать версию Microsoft SDK, установленную на вашем компьютере. Это не совсем ответ, но я пока не могу оставлять комментарии.
Согласно вашему описанию, после ввода mex -setup
, первое, что MATLAB должен спросить вас:
Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n?
После этого вы должны нажать y
и тогда вы должны увидеть список доступных компиляторов. Выберите правильный из них.
С какой версией Windows вы работаете, 32-х или 64-битная (вопрос как для Windows, так и для установленной версии MATLAB)?
Просматривая архивную документацию по R2008a (вы должны войти в систему, чтобы увидеть страницу), кажется, что LOADLIBRARY требует VS2005 на 64-битных платформах (возможно, по умолчанию это LCC, если он недоступен). Правда в том, что он не говорит явно, как он определяет, какой компилятор использовать. (Если вы до этого, вы можете edit loadlibrary.m
и проследите выполнение, чтобы увидеть, почему он вызывает LCC вместо Visual C++)
Сравните это с текущей страницей помощи R2012a, где четко сказано, что вы должны выбрать компилятор с mex -setup
,
Обратите внимание, что компилятор LCC больше не будет поставляться с будущими версиями.