Известные проблемы при компиляции FB
 

Win32 rtlib compilation error: wchar.h: unknown type name 'dev_t'

http://sourceforge.net/p/mingw/bugs/2039/

Файл заголовка wchar.h из MinGW.org содержит декларацию struct _stat64 , которая не компилируется, когда _NO_OLDNAMES объявлен, потому что он использует dev_t, ino_t, mode_t которые доступны только с _ префиксом подчеркивания (_dev_t etc.) под _NO_OLDNAMES. Для FB rtlib мы объявили #define _NO_OLDNAMES при компиляции.

Чтобы обойти эту проблему, необходимо настроить wchar.h и добавить _ префиксы подчеркивания для этих typedef имен в декларации struct _stat64.

Win32 rtlib compilation error: _controlfp, _PC_64 undeclared

CC src/rtlib/obj/hinit.o
src/rtlib/win32/hinit.c: In function 'fb_hInit':
src/rtlib/win32/hinit.c:21:5: warning: implicit declaration of function '_controlfp' [-Wimplicit-function-declaration]
src/rtlib/win32/hinit.c:21:17: error: '_PC_64' undeclared (first use in this function)

Оба MinGW.org runtime и GCC имеют заголовк float.h, и в некоторых установках GCC один находится перед первым MinGW, вызывая выше ошибки.

Простое временное исправление: Добавить #include_next <float.h> в gcc float.h (C:\MinGW\lib\gcc\[target]\[version]\include\float.h)

Смотрите также:
  • Комментарии в верхней части C:\MinGW\include\float.h
  • http://sourceforge.net/p/mingw/bugs/1580/
  • http://sourceforge.net/p/mingw/bugs/1809/
  • http://gcc.gnu.org/ml/gcc-patches/2010-01/msg01034.html

MinGW binutils ld versions 2.18 to 2.21

fbc вызывает ошибку (binutils ld bug 12614) в версиях указанного компоновщика, заставляя его производить сломанные двоичные файлы в некоторых случаях. Это исправлено в binutils 2.21.1 и выше.

MinGW.org runtime's globbing code changes case of command line arguments

http://sourceforge.net/p/mingw/bugs/2062/

MinGW.org's runtime (mingwrt-4.0.3) изменены опции аргументов командной строки для программы. Если аргумент соответствует существующему имени файла/папки и только отличались в опции, это была скорректировано, чтобы соответствовать точному написанию. Это может вызвать проблемы с программами, командная строка которых не чувствительна к регистру. Для примера, gui стал Gui если бы был каталог с именем Gui. Это скажется на опции fbc.exe -s gui, что сделает невозможным использование, так как fbc.exe откажется принимать -s Gui.

-lXpm not found on Debian x86_64

Пакет ia32-libs-dev (например, на Debian 6) по какой-либо причине не содержит /usr/lib32/libXpm.so символьной ссылки, даже если он содержит для других X11 библиотек. Это, по-видимому, может быть исправлено путем создания символической ссылки вручную:

ln -s /usr/lib32/libXpm.so.4 /usr/lib32/libXpm.so

DJGPP: Too many open files

Если программа DJGPP завершается с too many open files error на Windows, попробуйте следующее, чтобы увеличить количество доступных файловых дескрипторов:

    • Используйте msconfig чтобы добавить PerVMFiles=255 в [386Enh] секцию SYSTEM.INI
    • Отредактируйте files= настройки в C:\WINDOWS\system32\CONFIG.NT: files=255
    • Также смотрите http://www.delorie.com/djgpp/v2faq/faq9_7.html