кодер. LAPACKCallback.updateBuildInfo

Класс: кодер. LAPACKCallback
Пакет: кодер

Обновите информацию о сборке для соединения с определенной библиотекой LAPACK

Синтаксис

кодер. LAPACKCallback.updateBuildInfo (buildInfo, buildctx)

Описание

coder.LAPACKCallback.updateBuildInfo(buildInfo, buildctx) обновляет информационный объект сборки buildInfo с информацией, запрошенной для процесса сборки, чтобы соединиться с определенной библиотекой LAPACK.

coder.LAPACKCallback является абстрактным классом для определения класса обратного вызова LAPACK. Класс обратного вызова LAPACK задает библиотеку LAPACK и заголовочный файл LAPACKE, чтобы использовать для вызовов LAPACK в коде, сгенерированном из кода MATLAB®. Во время генерации кода, если вы задаете класс обратного вызова LAPACK для определенных вызовов функции линейной алгебры, генератор кода производит вызовы LAPACK в автономном коде.

Входные параметры

buildInfo

Создайте информационный объект. После генерации кода этот объект содержит стандартный проект, опцию сборки и информацию о зависимостях. В методе updateBuildInfo, чтобы добавить информацию для соединения с библиотекой LAPACK, методами информации о сборке использования.

buildctx

Объект coder.BuildConfig. Используйте метод getStdLibInfo coder.BuildConfig, чтобы заставить специфичное для платформы расширение файла использовать во время ссылки.

Примеры

развернуть все

Этот пример показывает, как записать метод updateBuildInfo, чтобы обновить информационный объект сборки с информацией, запрошенной, чтобы соединиться с определенной библиотекой LAPACK.

В классе, который выводит от coder.LAPACKCallback, запишите методу updateBuildInfo. Используйте этот пример класс обратного вызова LAPACK в качестве шаблона.

classdef useMyLAPACK < coder.LAPACKCallback
    methods (Static)
        function hn = getHeaderFilename()
            hn = 'mylapacke_custom.h';
        end
        function updateBuildInfo(buildInfo, buildctx)
            buildInfo.addIncludePaths(fullfile(pwd,'include'));
            libName = 'mylapack';
            libPath = fullfile(pwd,'lib');
            [~,linkLibExt] = buildctx.getStdLibInfo();
            buildInfo.addLinkObjects([libName linkLibExt], libPath, ...
                '', true, true);
            buildInfo.addDefines('HAVE_LAPACK_CONFIG_H');
            buildInfo.addDefines('LAPACK_COMPLEX_STRUCTURE');
        end
    end
end

Замените mylapack на имя вашей библиотеки LAPACK. Измените включать и пути к библиотеке по мере необходимости.

Чтобы обновить информацию о сборке с местоположением заголовочных файлов, используйте информацию о сборке метод addIncludePaths.

Чтобы получить доступ к специфичному для платформы расширению библиотеки, используйте метод getStdLibInfo coder.BuildConfig.

Чтобы обновить информацию о сборке с названием и местоположением вашей библиотеки LAPACK, используйте информацию о сборке метод addlinkObjects.

Если ваш компилятор поддерживает только сложные типы данных, которые представлены как структуры, включают эти строки.

buildInfo.addDefines('HAVE_LAPACK_CONFIG_H');
buildInfo.addDefines('LAPACK_COMPLEX_STRUCTURE');

Была ли эта тема полезной?