exponenta event banner

coder.fftw. StandaloneFFTW3Interface.updateBuildInfo

Класс: coder.fftw.StandaloneFFTW3Interface
Пакет: coder.fftw

Обновление сведений о построении для связи с определенной библиотекой FFTW

Синтаксис

coder.fftw.StandaloneFFTW3Interface.updateBuildInfo(buildInfo, ctx)

Описание

coder.fftw.StandaloneFFTW3Interface.updateBuildInfo(buildInfo, ctx) обновляет информацию о построении для связи с определенной библиотекой FFTW.

Класс обратного вызова библиотеки FFT, производный от coder.fftw.StandaloneFFTW3Interface класс задает библиотеку FFTW.

Входные аргументы

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

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

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

Примеры

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

В классе, производном от coder.fft.StandaloneFFTW3Interface, реализовать метод updateBuildInfo обновляет сведения о построении для связи с определенной библиотекой FFTW.

Используйте updateBuildInfo метод в этом примере coder.fftw.StandaloneFFTW3Interface класс как шаблон.

% copyright 2017 The MathWorks, Inc.

classdef useMyFFTW < coder.fftw.StandaloneFFTW3Interface
     
    methods (Static)
        function th = getNumThreads
            coder.inline('always');
            th = int32(coder.const(1));
        end
                
        function updateBuildInfo(buildInfo, ctx)
            fftwLocation = '/usr/lib/fftw';
            includePath = fullfile(fftwLocation, 'include');
            buildInfo.addIncludePaths(includePath);
            libPath = fullfile(fftwLocation, 'lib');
            
            %Double
            libName1 = 'libfftw3-3';
            [~, libExt] = ctx.getStdLibInfo();
            libName1 = [libName1 libExt];
            addLinkObjects(buildInfo, libName1, libPath, 1000, true, true);
            
            %Single
             libName2 = 'libfftw3f-3';
            [~, libExt] = ctx.getStdLibInfo();
            libName2 = [libName2 libExt];
            addLinkObjects(buildInfo, libName2, libPath, 1000, true, true);
        end
    end           
end

В вашем updateBuildInfo метод, установка:

  • fftwLocation к полному пути для установки библиотеки.

  • includePath в полный путь к папке, содержащей файл заголовка библиотеки FFTW.

  • libPath в полный путь к папке, содержащей файлы библиотеки.

Представлен в R2017b