Перейти к содержанию
Fire Monkey от А до Я

Gor777

Пользователи
  • Постов

    6
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Gor777

  1. Судя по всему XE6 и XE7 не поддерживают статическую загрузку библиотек.

    Работает только динамическая загрузка  :(

    Пример из BASS работоспособен и проверен    

        DocDir := IncludeTrailingPathDelimiter(System.IOUtils.TPath.GetLibraryPath);    //* BASS
        BASSLibraryHandle := LoadLibrary(PChar(DocDir + 'libbass.so'));
        if BASSLibraryHandle = 0 then begin
           ShowMessage( 'libbass.so load FAIL');
        end;
        if BASSLibraryHandle <> 0 then begin
            @BASS_Init := GetProcAddress(BASSLibraryHandle, ('BASS_Init'));
            @BASS_StreamCreateFile := GetProcAddress(BASSLibraryHandle, ('BASS_StreamCreateFile'));
            @BASS_ChannelPlay := GetProcAddress(BASSLibraryHandle, ('BASS_ChannelPlay'));
            @BASS_FXGetParameters := GetProcAddress(BASSLibraryHandle, ('BASS_FXGetParameters'));
            Result := True;
        end;

    Хотя в хелпе этот способ заявлен как Dynamic Loading (Windows-only) ....

  2. Проекта еще как такового нет.

    Есть проблема статической загрузки динамической библиотеки на Delphi

     

    Объявление внешней функции:

    procedure DoSomething; external 'MYLIB.SO';

     

    вызывает падение приложения при старте.

    Тот же самый механизм в CBuilder при добавлении в проект MYLIB.A  работает корректно.

     

    Продолжаю копать, лопата уже раскалилась... :)

  3. Отвечу  сам себе. Путь к библиотеке mylib.so должен быть прописан в Options->LibraryPath для платформы Android.

    Только теперь беда № 2.

    Приложение компилируется, только при упоминании внешней библиотеки не запускается. Продолжаю копать....

  4. Вопрос в следующем :

    Как статически подключить динамическую библиотеку директивой "external" ?

    При компиляции проекта Delphi для Win32 или Win64  все нормально.

    При компиляции C++ проекта для Android в проект добавляю mylib.a и тоже все нормально.

    При компиляции проекта Delphi для Android на этапе линковки - не работает. Пишет unresolved external  и тд.

    Может в настройках проекта надо еще что то указать ?

×
×
  • Создать...