Win32 rtlib编译错误:wchar.h:unknown类型名称'dev_t'
http://sourceforge.net/p/mingw/bugs/2039/
来自MinGW.org的wchar.h头文件包含一个{_9____ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n}声明,在_NO_OLDNAMES被定义时不会进行编译,因为它使用了__t_delete_mode下的_下划线前缀(_dev_t等)的dev_t,ino_t,mode_t。对于FB rtlib,我们在编译时定义_NO_OLDNAMES。
要解决此问题,请调整wchar.h并将_下划线前缀添加到struct _stat64声明中的typedef名称。
Win32 rtlib编译错误:_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运行时和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 version 2.18 to 2.21
MinGW.org运行时的globbing代码更改命令行参数的大小
http://sourceforge.net/p/mingw/bugs/2062/
MinGW.org的运行时(mingwrt-4.0.3)更改了给予程序的命令行参数的情况。如果参数与现有的文件/目录名匹配,只有在不同的情况下才进行调整,以匹配确切的拼写。这可能导致程序的问题,其命令行解析不区分大小写。例如,如果有一个名为Gui的目录,则gui成为Gui.这会影响fbc.exe的-s gui选项,使其无法使用,因为fbc.exe拒绝接受-s Gui.
-lXpm在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:打开的文件太多
如果DJGPP程序在Windows上出现too many open files 错误,则尝试以下操作来增加可用的文件句柄数:
- 使用msconfig将PerVMFiles=255添加到SYSTEM.INI的[386Enh]部分
- 编辑C:\WINDOWS\system32\CONFIG.NT中的files=设置:files=255
- 另请参阅http://www.delorie.com/djgpp/v2faq/faq9_7.html