Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2019, 22:58   #1
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию lz4 есть несколько вопросов

Исходник в открытом виде на делфях лежит.
Вылетают ошибки при компиляции.
Часть из них устранимые, часть нет.
Кто сталкивался ?
Я не могу победить даже компиляцию консольного приложения.
Тащит за собой воз виндовых бля-бля-тек.
Вроде все установил, но скомпилить не смог, ругается проект и все.
Делфи 2010.

Последний раз редактировалось z-wer; 24.06.2019 в 23:18.
z-wer вне форума Ответить с цитированием
Старый 25.06.2019, 08:41   #2
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Уточню немного по ошибкам.
[DCC Error] lz4d.dependencies.pas(130): E2045 Bad object file format: 'C:\####\lz4-delphi-master\lib/win32_mingw/chkstk_ms.o'
[DCC Error] lz4d.dependencies.pas(54): E2065 Unsatisfied forward or external declaration: '___chkstk_ms'
z-wer вне форума Ответить с цитированием
Старый 25.06.2019, 09:01   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Bad object file format: 'C:\####\lz4-delphi-master\lib/win32_mingw/chkstk_ms.o'
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 25.06.2019, 09:30   #4
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Bad object file format: 'C:\####\lz4-delphi-master\lib/win32_mingw/chkstk_ms.o'
Спасибо за ответ, но по сути я ничего не понял.
z-wer вне форума Ответить с цитированием
Старый 25.06.2019, 10:58   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Видимо он пытался сказать, что в винде используют другие слеши.
Но как правило это не важно, почти все программы и винапи понимают любые слеши.



Да и ошибка же не об этом.

Погуглите лучше "E2045 Bad object file format" чтобы узнать возможные причины.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.06.2019, 13:16   #6
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Да не в слешах ошибка, все пути прописаны правильно.
Моя дельфя видимо не понимает формат файла *.о
Потому и ругается.
Можно конечно кастылей наставить и обойти проблему... но я не сторонник таких решений...
Затолкать в ресурсы готовый экзешник...
Хотелось бы сделать красиво.
Да, и гугль особо не помог.
z-wer вне форума Ответить с цитированием
Старый 25.06.2019, 13:27   #7
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Код:
unit lz4d.dependencies;

{$I lz4d.defines.inc}


interface

///Since we link .o object files directly, there may be some referenced functions missing
///  - solution: reimplement these functions or deliver object files for them

{$IfDef MinGW_LIB}
  // * MinGW * //

  //object files were build with lz4s make file
  //mingw 4.8.1

  ////"___chkstk_ms" needed
  ///  bind via object file
  ///  -> extracted from MinGW\lib\gcc\mingw32\4.8.1\libgcc.a
  {$L lib/win32_mingw/chkstk_ms.o}
  procedure ___chkstk_ms; cdecl; external;

{$Else}

  {$IfDef VS_LIB}
  // * Visual Studio * //

    ////"__chkstk" function needed
    ///
    ///  Due to licence restrictions (and problems avoidance) we do NOT deliver the necessary object file
    ///  with these lz4 bindings.
    ///  You need to copy the necessary files by yourself.
    ///  In the test case of Visual Studio 11, it is located at:
    ///  "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\chkstk.obj"
    ///
    ///  Copy the files to
    ///
    {$L lib/win32_vs/chkstk.obj}
    procedure __chkstk; cdecl; external;
  {$EndIf}

{$EndIf}

///"_memcpy, _memset, _calloc, _free" needed

{$IfDef VS_LIB}
  ///Visual studio uses different function names
  function  __imp__calloc(count, size: cardinal): Pointer; cdecl;
  procedure __imp__free(P: Pointer); cdecl;
{$Else}
  function  _calloc(count, size: cardinal): Pointer; cdecl;
  procedure _free(P: Pointer); cdecl;
{$EndIf}

function  _malloc(size: cardinal): Pointer; cdecl;
procedure _memcpy(dest, source: Pointer; count: Integer); cdecl;
function  _memset(P: Pointer; B: Integer; count: Integer): pointer; cdecl;


implementation

{$IfDef VS_LIB}
  function  __imp__calloc(count, size: cardinal): Pointer; cdecl;
{$Else}
  function  _calloc(count, size: cardinal): Pointer; cdecl;
{$EndIf}
begin
  GetMem(   Result,   count*size);
  FillChar( Result^,  count*size, 0);
end;

{$IfDef VS_LIB}
  procedure __imp__free(P: Pointer); cdecl;
{$Else}
  procedure _free(P: Pointer); cdecl;
{$EndIf}
begin
  FreeMem(P);
end;

function  _malloc(size: cardinal): Pointer; cdecl;
begin
  GetMem(Result, size);
end;

function _memset(P: Pointer; B: Integer; count: Integer): pointer; cdecl;
begin
  result := P;
  FillChar(P^, count, B);
end;

procedure _memcpy(dest, source: Pointer; count: Integer); cdecl;
begin
  Move(source^, dest^, count);
end;

end.
Вот код юнита.
z-wer вне форума Ответить с цитированием
Старый 25.06.2019, 13:34   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Скорее всего не совпадение версий комплятора либы/иде.
p51x вне форума Ответить с цитированием
Старый 25.06.2019, 13:50   #9
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Tested with RadStudio XE3.
У меня 2010 delphi.
z-wer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
несколько легких вопрос с баз данных (у вопросов есть варианты ответов) программирование Помощь студентам 0 20.09.2013 01:01
Несколько вопросов shrek1993 Visual C++ 3 05.08.2012 18:53
Несколько вопросов по C++ Antitime Общие вопросы C/C++ 10 26.01.2012 15:00
несколько вопросов по C Horus92 Общие вопросы C/C++ 2 15.11.2009 16:08
Несколько Вопросов Дорст Общие вопросы Delphi 3 12.11.2007 09:18