Компиляция под x64

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Компиляция под x64

Сообщение alisichkin » 21.01.2008 18:16:21

Добрый день!
При попытке скомпилировать 64 битную версию программы из под 32х разрядной ОС (Win XP) получаю ошибку:
Error: resource compiler not found, switching to external mode

Строка копиляции:
c:\lazarus\fpc\2.2.0\bin\i386-win32\ppcrossx64.exe -Rintel -S2cdgi -OG1 -Xs -vewhi -l -oxp_crypt.dll xp_crypt.lpr

в xp_crypt.lpr есть строчка: {$R ....}
Если ее убрать, то все проходит...
Есть тестовый сервер x64, где стоит lazarus for x64. На нем все компилиться на ура.

Почему ppcrossx64.exe не использует windres.exe для компиляции ресурсов? Или ему нужен другой ресурс компиллер?
alisichkin
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.01.2008 18:02:49

Сообщение Sergei I. Gorelkin » 21.01.2008 19:10:33

gorc.exe нужен (http://www.godevtool.com). windres не умеет генерить 64-битные объектники.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение alisichkin » 21.01.2008 19:31:08

А какие дополнительные настройки нужны?
Простое помещение gorc.exe в дирректорию ..\bin\i386-win32\
ничего не дает??
alisichkin
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.01.2008 18:02:49

Получилось

Сообщение alisichkin » 22.01.2008 11:44:25

To: Sergei I. Gorelkin
Правильно ли я делаю?

make64.bat:
Код: Выделить всё
del *.o /q
del *.ppu /q
c:\lazarus\fpc\2.2.0\bin\x86_64-win64\GoRC.exe /machine x64 /fo fpc-res.obj fpc-res.res exmess.rc
c:\lazarus\fpc\2.2.0\bin\x86_64-win64\ppcrossx64.exe -Rintel -S2cdgi -OG1 -Xs -ve -l -oxp_crypt.dll xp_crypt.lpr
pause


make32.bat:
Код: Выделить всё
del *.o /q
del *.ppu /q
c:\lazarus\fpc\2.2.0\bin\i386-win32\GoRC.exe /fo fpc-res.obj fpc-res.res exmess.rc
c:\lazarus\fpc\2.2.0\bin\i386-win32\fpc.exe -Rintel -S2cdgi -OG1 -Xs -ve -l -oxp_crypt.dll xp_crypt.lpr
pause


xp_crypt.lpr:
Код: Выделить всё
library xp_crypt;
//{$R 'exmess.res' 'exmess.rc'}
{$L fpc-res.obj}
alisichkin
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.01.2008 18:02:49

Сообщение Sergei I. Gorelkin » 22.01.2008 15:14:45

Жесть.....
1) gorc.exe подхватываться должен. Если не подхватывается - скорее всего баг. Узнать, что вызывается на самом деле, можно с ключом командной строки -va.
2) Обработка ресурсов проходит в две стадии. Сначала .rc компилируются в .res, потом все .res в проекте сливаются в один fpc-res.res, который затем преобразуется в .obj. Поэтому имя 'fpc-res' в батниках лучше заменить на что-то другое.
3) Компилятор вызывает gorc.exe так (вместо $RC, $RES, $OBJ подставляются соотв файлы):
Код: Выделить всё
gorc.exe /machine x64 /nw /ni /r /fo $RES $RC'
gorc.exe /machine x64 /nw /ni /o /fo $OBJ $RES

4) У компилятора есть ключи -FC и -FR, которые позволяют указать "компилятор" и "линкер" ресурсов в явном виде. Правда, были ли они в 2.2.0 или добавились позже - я не знаю.
5) Насчет конструкции {$R 'exmess.res' 'exmess.rc'} не уверен, поддерживается ли она. Но по отдельности {$R 'exmess.res'} и {$R 'exmess.rc'} должны работать.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Attid » 22.01.2008 21:23:07

а чтоб не удалять
Код: Выделить всё
del *.o /q
del *.ppu /q

можно билдить с ключем -B но это тоже не красиво лучше собирать в разных папках к примеру
Код: Выделить всё
-FUwin32/
-FUwin64/

ускорит время сбора =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение alisichkin » 23.01.2008 11:38:01

То: Attid
Спасибо, добавил ключ –FU. Так действительно более кошерно :)

To: Sergei I. Gorelkin
Спасибо за такой развернутый ответ, но...
1) gorc.exe автоматически не подхватывается. Запустив ppcrossx64.exe с ключом –va ничего не нашел (результат работы ppcrossx64.exe –va приведу далее).
2) В проекте только один res файл. Ресурс MESSAGETABLE для правильного отображения сообщений в EventLog NT от приложения. Поэтому, может быть, это волюнтаризм, но для меня имя 'fpc-res' вполне подходит.
3) Зачем две раза вызывать gorc? Если он сам пишет
If the inputfile is RC, then by default, both RES and OBJ files are created.
4) У меня вроде последняя версия FPC – 2.2.0, о более новых версиях я не слышал.
ppcrossx64.exe имеет ключи
-Fc<x> sets input codepage to <x>
-Fr<x> load error message file <x>
Но это явно не то…
5) {$R 'exmess.res' 'exmess.rc'} – это моя ошибка. Нужно либо 'exmess.res' либо 'exmess.rc', но что интересно, Delphi, Lazarus 0.9.24 для Win32 на WinXP(32bit), Lazarus 0.9.24 для Win64 на Win2003(64bit) успешно компилируют данную сточку.

В принципе, главного я достиг – я могу компилировать свой проект, но интересно, как правильно настроить FPC, что бы он сам подхватывал gorc.

результат работы ppcrossx64.exe –va
Код: Выделить всё
[0.000] Macro defined: WIN64
[0.000] Macro defined: FPC
[0.000] Macro defined: VER2
[0.000] Macro defined: VER2_2
[0.000] Macro defined: VER2_2_0
[0.000] Macro defined: FPC_DARWIN_PASCALMAIN
[0.000] Macro defined: FPC_DARWIN_JMP_MAIN
[0.000] Macro defined: COMPPROCINLINEFIXED
[0.000] Macro defined: PARAOUTFILE
[0.000] Macro defined: RESSTRSECTIONS
[0.000] Macro defined: FPC_HASFIXED64BITVARIANT
[0.000] Macro defined: FPC_HASINTERNALOLEVARIANT2VARIANTCAST
[0.000] Macro defined: FPC_HAS_VARSETS
[0.000] Macro defined: FPC_HAS_VALGRINDBOOL
[0.000] Macro defined: FPC_HAS_STR_CURRENCY
[0.000] Macro defined: FPC_REAL2REAL_FIXED
[0.000] Macro defined: FPC_STRTOCHARARRAYPROC
[0.000] Macro defined: FPC_SUPPORTS_UNALIGNED
[0.000] Macro defined: INTERNAL_BACKTRACE
[0.000] Macro defined: STR_CONCAT_PROCS
[0.000] Macro defined: REGCALL
[0.000] Macro defined: FPC_HAS_FEATURE_SUPPORT
[0.000] Macro defined: CPUX86_64
[0.000] Macro defined: CPUAMD64
[0.000] Macro defined: CPU64
[0.000] Macro defined: FPC_CURRENCY_IS_INT64
[0.000] Macro defined: FPC_COMP_IS_INT64
[0.000] Macro defined: FPC_HAS_TYPE_DOUBLE
[0.000] Macro defined: FPC_HAS_TYPE_SINGLE
[0.000] Macro defined: FPC_CROSSCOMPILING
[0.000] Macro defined: FPC_CPUCROSSCOMPILING
[0.000] Macro defined: FPC_WINLIKEWIDESTRING
[0.000] Reading options from file fpc.cfg
[0.000] Start of reading config file fpc.cfg
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Config file generated by fpcmkcfg on 26.12.2007 - 10:54:04"
[0.000] interpreting file option "# Example fpc.cfg for Free Pascal Compiler"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# ----------------------"
[0.000] interpreting file option "# Defines (preprocessor)"
[0.000] interpreting file option "# ----------------------"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# -d is the same as #DEFINE"
[0.000] interpreting file option "# -u is the same as #UNDEF"
[0.000] interpreting file option "#"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Some examples (for switches see below, and the -? helppages)"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Try compiling with the -dRELEASE or -dDEBUG on the commandline"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# For a release compile with optimizes and strip debuginfo"
[0.000] interpreting file option "#IFDEF RELEASE"
[0.000] interpreting file option "#WRITE Compiling Release Version"
[0.000] interpreting file option "#ENDIF"
[0.000] interpreting file option "# For a debug version compile with debuginfo and all codegeneration checks on"
[0.000] interpreting file option "#IFDEF DEBUG"
[0.000] interpreting file option "#WRITE Compiling Debug Version"
[0.000] interpreting file option "#ENDIF"
[0.000] interpreting file option "# ----------------"
[0.000] interpreting file option "# Parsing switches"
[0.000] interpreting file option "# ----------------"
[0.000] interpreting file option "# Pascal language mode"
[0.000] interpreting file option "#      -Mfpc      free pascal dialect (default)"
[0.000] interpreting file option "#      -Mobjfpc   switch some Delphi 2 extensions on"
[0.000] interpreting file option "#      -Mdelphi   tries to be Delphi compatible"
[0.000] interpreting file option "#      -Mtp       tries to be TP/BP 7.0 compatible"
[0.000] interpreting file option "#      -Mgpc      tries to be gpc compatible"
[0.000] interpreting file option "#      -Mmacpas   tries to be compatible to the macintosh pascal dialects"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Turn on Object Pascal extensions by default"
[0.000] interpreting file option "#-Mobjfpc"
[0.000] interpreting file option "# Assembler reader mode"
[0.000] interpreting file option "#      -Rdefault  use default assembler"
[0.000] interpreting file option "#      -Ratt      read AT&T style assembler"
[0.000] interpreting file option "#      -Rintel    read Intel style assembler"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# All assembler blocks are AT&T styled by default"
[0.000] interpreting file option "#-Ratt"
[0.000] interpreting file option "# Semantic checking"
[0.000] interpreting file option "#      -S2        same as -Mobjfpc"
[0.000] interpreting file option "#      -Sc        supports operators like C (*=,+=,/= and -=)"
[0.000] interpreting file option "#      -Sa        include assertion code."
[0.000] interpreting file option "#      -Sd        same as -Mdelphi"
[0.000] interpreting file option "#      -Se<x>     compiler stops after the <x> errors (default is 1)"
[0.000] interpreting file option "#      -Sg        allow LABEL and GOTO"
[0.000] interpreting file option "#      -Sh        Use ansistrings"
[0.000] interpreting file option "#      -Si        support C++ styled INLINE"
[0.000] interpreting file option "#      -SI<x>     set interface style to <x>"
[0.000] interpreting file option "#         -SIcomCOM compatible interface (default)"
[0.000] interpreting file option "#         -SIcorbaCORBA compatible interface"
[0.000] interpreting file option "#      -Sm        support macros like C (global)"
[0.000] interpreting file option "#      -So        same as -Mtp"
[0.000] interpreting file option "#      -Sp        same as -Mgpc"
[0.000] interpreting file option "#      -Ss        constructor name must be init (destructor must be done)"
[0.000] interpreting file option "#      -St        allow static keyword in objects"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Allow goto, inline, C-operators, C-vars"
[0.000] Handling option "-Sgic"
[0.000] interpreting option "-Sgic"
[0.000] interpreting file option "# ---------------"
[0.000] interpreting file option "# Code generation"
[0.000] interpreting file option "# ---------------"
[0.000] interpreting file option "# Uncomment the next line if you always want static/dynamic units by default"
[0.000] interpreting file option "# (can be overruled with -CD, -CS at the commandline)"
[0.000] interpreting file option "#-CS"
[0.000] interpreting file option "#-CD"
[0.000] interpreting file option "# Set the default heapsize to 8Mb"
[0.000] interpreting file option "#-Ch8000000"
[0.000] interpreting file option "# Set default codegeneration checks (iocheck, overflow, range, stack)"
[0.000] interpreting file option "#-Ci"
[0.000] interpreting file option "#-Co"
[0.000] interpreting file option "#-Cr"
[0.000] interpreting file option "#-Ct"
[0.000] interpreting file option "# Optimizer switches for i386 compiler"
[0.000] interpreting file option "# -Os        generate smaller code"
[0.000] interpreting file option "# -O1        level 1 optimizations (quick optimizations)"
[0.000] interpreting file option "# -O2        level 2 optimizations (-O1 + slower optimizations)"
[0.000] interpreting file option "# -O3        level 3 optimizations (same as -O2u)"
[0.000] interpreting file option "# -Oa=N      set alignment to N"
[0.000] interpreting file option "# -OoX       switch on optimalization X."
[0.000] interpreting file option "# -OoNOX     switch off optimalization X."
[0.000] interpreting file option "#               X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE LOOPUNROLL"
[0.000] interpreting file option "# -OpCPU     set target processor."
[0.000] interpreting file option "#             CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4, PENTIUMM"
[0.000] interpreting file option "# -----------------------"
[0.000] interpreting file option "# Set Filenames and Paths"
[0.000] interpreting file option "# -----------------------"
[0.000] interpreting file option "# Both slashes and backslashes are allowed in paths"
[0.000] interpreting file option "# path to the messagefile, not necessary anymore but can be used to override"
[0.000] interpreting file option "# the default language"
[0.000] interpreting file option "#-Frc:\lazarus\fpc\2.2.0/msg/errore.msg"
[0.000] interpreting file option "#-Frc:\lazarus\fpc\2.2.0/msg/errorn.msg"
[0.000] interpreting file option "#-Frc:\lazarus\fpc\2.2.0/msg/errores.msg"
[0.000] interpreting file option "#-Frc:\lazarus\fpc\2.2.0/msg/errord.msg"
[0.000] interpreting file option "#-Frc:\lazarus\fpc\2.2.0/msg/errorr.msg"
[0.000] interpreting file option "# path to the gcclib"
[0.000] interpreting file option "#-Flc:\lazarus\fpc\2.2.0/lib"
[0.000] interpreting file option "# searchpath for includefiles"
[0.000] interpreting file option "#-Fi/pp/inc;/pp/rtl/inc"
[0.000] interpreting file option "# searchpath for includefiles"
[0.000] interpreting file option "# release them only if you know what you do"
[0.000] interpreting file option "# because this could cause a rebuild of the runtime library"
[0.000] interpreting file option "# if you tell them compiler/ide to build the project (FK)"
[0.000] interpreting file option "#-Fic:\lazarus\fpc\2.2.0/source/rtl/inc;c:\lazarus\fpc\2.2.0/source/rtl/i386"
[0.000] interpreting file option "# searchpath for objectfiles"
[0.000] interpreting file option "#-Foc:\lazarus\fpc\2.2.0/source/rtl/inc;c:\lazarus\fpc\2.2.0/source/rtl/i386"
[0.000] interpreting file option "# searchpath for units and other system dependent things"
[0.000] Handling option "-Fuc:\lazarus\fpc\2.2.0/units/x86_64-win64/"
[0.000] interpreting option "-Fuc:\lazarus\fpc\2.2.0/units/x86_64-win64/"
[0.000] Handling option "-Fuc:\lazarus\fpc\2.2.0/units/x86_64-win64/*"
[0.000] interpreting option "-Fuc:\lazarus\fpc\2.2.0/units/x86_64-win64/*"
[0.000] Handling option "-Fuc:\lazarus\fpc\2.2.0/units/x86_64-win64/rtl"
[0.000] interpreting option "-Fuc:\lazarus\fpc\2.2.0/units/x86_64-win64/rtl"
[0.000] interpreting file option "# searchpath for libraries"
[0.000] interpreting file option "#-Flc:\lazarus\fpc\2.2.0/lib"
[0.000] interpreting file option "#-Fl/lib;/usr/lib"
[0.000] interpreting file option "# searchpath for tools"
[0.000] Handling option "-FDc:\lazarus\fpc\2.2.0/bin/x86_64-win64"
[0.000] interpreting option "-FDc:\lazarus\fpc\2.2.0/bin/x86_64-win64"
[0.000] interpreting file option "# binutils prefix for cross compiling"
[0.000] interpreting file option "#IFDEF FPC_CROSSCOMPILING"
[0.000] Handling option "-XPx86_64-win64-"
[0.000] interpreting option "-XPx86_64-win64-"
[0.000] interpreting file option "#ENDIF"
[0.000] interpreting file option "# -------------"
[0.000] interpreting file option "# Linking"
[0.000] interpreting file option "# -------------"
[0.000] interpreting file option "# generate always debugging information for GDB (slows down the compiling"
[0.000] interpreting file option "# process)"
[0.000] interpreting file option "#      -gc        generate checks for pointers"
[0.000] interpreting file option "#      -gd        use dbx"
[0.000] interpreting file option "#      -gg        use gsym"
[0.000] interpreting file option "#      -gh        use heap trace unit (for memory leak debugging)"
[0.000] interpreting file option "#      -gl        use line info unit to show more info for backtraces"
[0.000] interpreting file option "#      -gv        generates programs tracable with valgrind"
[0.000] interpreting file option "#      -gw        generate dwarf debugging info"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Enable debuginfo and use the line info unit by default"
[0.000] interpreting file option "#-gl"
[0.000] interpreting file option "# always pass an option to the linker"
[0.000] interpreting file option "#-k-s"
[0.000] interpreting file option "# Always strip debuginfo from the executable"
[0.000] Handling option "-Xs"
[0.000] interpreting option "-Xs"
[0.000] interpreting file option "# -------------"
[0.000] interpreting file option "# Miscellaneous"
[0.000] interpreting file option "# -------------"
[0.000] interpreting file option "# Write always a nice FPC logo ;)"
[0.000] Handling option "-l"
[0.000] interpreting option "-l"
[0.000] interpreting file option "# Verbosity"
[0.000] interpreting file option "#      e : Show errors (default)       d : Show debug info"
[0.000] interpreting file option "#      w : Show warnings               u : Show unit info"
[0.000] interpreting file option "#      n : Show notes                  t : Show tried/used files"
[0.000] interpreting file option "#      h : Show hints                  m : Show defined macros"
[0.000] interpreting file option "#      i : Show general info           p : Show compiled procedures"
[0.000] interpreting file option "#      l : Show linenumbers            c : Show conditionals"
[0.000] interpreting file option "#      a : Show everything             0 : Show nothing (except errors)"
[0.000] interpreting file option "#      b : Show all procedure          r : Rhide/GCC compatibility mode"
[0.000] interpreting file option "#          declarations if an error    x : Executable info (Win32 only)"
[0.000] interpreting file option "#          occurs"
[0.000] interpreting file option "#"
[0.000] interpreting file option "# Display Info, Warnings, Notes and Hints"
[0.000] Handling option "-viwn"
[0.000] interpreting option "-viwn"
[0.000] interpreting file option "# If you don't want so much verbosity use"
[0.000] interpreting file option "#-vw"
[0.000] End of reading config file fpc.cfg
[0.000] Handling option "-va"
[0.000] interpreting option "-va"
[0.000] Free Pascal Compiler version 2.2.0 [2007/09/09] for x86_64
[0.000] Copyright (c) 1993-2007 by Florian Klaempfl
[0.000] Macro defined: MSWINDOWS
[0.000] Macro defined: WINDOWS
[0.000] Macro defined: ENDIAN_LITTLE
[0.000] Macro defined: FPC_LITTLE_ENDIAN
[0.000] No source file name in command line
[0.000] Compilation aborted
alisichkin
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.01.2008 18:02:49

Сообщение Юра » 23.01.2008 14:59:25

1. Переименуй gorc.exe в x86_64-win64-gorc.exe
2. Используй ключик -XP

Первый вариант более правильный.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Attid » 23.01.2008 15:22:00

alisichkin
2) В проекте только один res файл. Ресурс MESSAGETABLE для правильного отображения сообщений в EventLog NT от приложения. Поэтому, может быть, это волюнтаризм, но для меня имя 'fpc-res' вполне подходит.

опиши процес создания в 10 строчек , в фак повесим, помню там что-то давольно просто было, но в базе знаний не помешает.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение alisichkin » 23.01.2008 16:40:17

To: Юра
Спасибо – переименование в x86_64-win64-gorc.exe помогло (по-моему, чудовищное название)

To: ALL
Спасибо за участие в обсуждении – все получилось.

Порядок сборки x64 приложений из под x32 Win ОС:
1. Инсталлируем FPC и утилиты для for Win32 (ftp://ftp.chg.ru/pub/lang/pascal/fpc/di ... -win32.exe);
2. Инсталлируем кросс-компиллер win32 to win64 и исходники 64bit библиотек (ftp://ftp.chg.ru/pub/lang/pascal/fpc/di ... -win64.exe)
3. Помещаем в папку ../fpc/2.2.0/i386-win32 файл GoRC.exe под именем x86_64-win64-gorc.exe (Я взял компилятор ресурсов GoRC.exe из инсталляции Lazarus 0.9.24 for win64)
4. Для раздельного хранения 32 и 64 битных компилированных модулей, в папке проекта создать подпапки Win32 и Win64
5. Создание пакетных файлов для простоты вызова компилятора.
make32.bat
Код: Выделить всё
c:\lazarus\fpc\2.2.0\bin\i386-win32\fpc.exe -Rintel -S2cdgi -OG1 -Xs -ve -l -FUwin32/ -oxp_crypt.dll xp_crypt.lpr
pause

make64.bat
Код: Выделить всё
c:\lazarus\fpc\2.2.0\bin\i386-win32\ppcrossx64.exe -Rintel -S2cdgi -OG1 -Xs -ve -l -FUwin64/ -oxp_crypt.dll xp_crypt.lpr
pause

Для разных проектов параметры компилятора будут отличаться.
У меня проект импортирован из Delphi –Sd, имеются ассемблерные вставки –Rintel и т.д.
alisichkin
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.01.2008 18:02:49

Сообщение Attid » 23.01.2008 17:14:29

(по-моему, чудовищное название)

не уверен но вроде это можно в fpc.conf менять =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение alisichkin » 23.01.2008 17:37:20

У меня файла fpc.conf нет - только fpc.cfg,
но в нем я не нашел ни каких упоминаний о resource compiler...
alisichkin
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.01.2008 18:02:49

Сообщение Sergei I. Gorelkin » 23.01.2008 18:00:06

В fpc.cfg можно записать все ключи командной строки (-Rintel -S2cdgi и т.д.), и потом при каждой компиляции уже не нужно будет их указывать. Компилятором ресурсов оттуда можно рулить с помощью упомянутых -XP (который как раз задает этот страшный префикс x86_64-win64), а также -FC и -FR (получается, что они действительно есть только в версии 2.3.1).

Странно в этой истории одно - почему в поставку кросс-компилятора не включен правильный gorc.exe?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru