Использование компилятора 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 больше не будет поставляться с будущими версиями.

Другие вопросы по тегам