- Код: Выделить всё
- program rsa;
 {$LinkLib longmath.o}
 procedure LongAdd(x, y, z: pointer); stdcall; external;
 var
 x, y, z: integer;
 begin
 x := 1; y := 1; z := 1;
 
 writeln(x, ';', y, ';', z);
 LongAdd(@x, @y, @z);
 writeln(x, ';', y, ';', z);
 end.
А компоновщик мне выдает:
D:\FPC\bin\i386-Win32\ld.exe: cannot find -llongmath.o
rsa.pp(13,1) Error: Error while linking
Error: D:\FPC\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if yo
u did not specify a source file to be compiled)
Во первых, почему он ищет -llongmath.o, если -l - команда?
Во вторых, а почему директива $Link ($L) не работает? Что она делает, если не линкует объектный модуль?
Сразу скажу, что пробовал линковать и elf и coff - нифига. Сам объектный файл в полном порядке, т.к. в g++ он прекрасно линкуется (в обоих форматах) и функция работает.
ОС win32



 
 
 
  
 