待解决:如何打开lazarus中math.pp下FPDOC_MATH编译选项
2017-08-10 23:31
435 查看
使用math单元中的max和min函数时发现仅能支持长整形,如果使用了浮点型,则会收到形如
Error: Incompatible type for arg no. 2: Got “Single”, expected “LongInt”
的错误提示。
检查了math.pp的内容,发现此处的代码如下
其它形式的函数被放在三个条件编译处,再往上追溯,发现这三个定义被另一个条件约束
然而并不能直接在math.pp中通过增加
来开启这个开关。
尝试了在Project Option的Custom Options中设置-dFPDOC_MATH,无效。
发现了两个相关讨论
Right way to turn FPDOC_MATH on?
How to turn on FPC_HAS_TYPE_COMP
但是没有有效结果。
Error: Incompatible type for arg no. 2: Got “Single”, expected “LongInt”
的错误提示。
检查了math.pp的内容,发现此处的代码如下
{$ifdef FPC_HAS_TYPE_SINGLE} function Min(a, b: Single): Single;inline; overload; function Max(a, b: Single): Single;inline; overload; {$endif FPC_HAS_TYPE_SINGLE} {$ifdef FPC_HAS_TYPE_DOUBLE} function Min(a, b: Double): Double;inline; overload; function Max(a, b: Double): Double;inline; overload; {$endif FPC_HAS_TYPE_DOUBLE} {$ifdef FPC_HAS_TYPE_EXTENDED} function Min(a, b: Extended): Extended;inline; overload; function Max(a, b: Extended): Extended;inline; overload; {$endif FPC_HAS_TYPE_EXTENDED}
其它形式的函数被放在三个条件编译处,再往上追溯,发现这三个定义被另一个条件约束
{$IFDEF FPDOC_MATH} {$DEFINE FPC_HAS_TYPE_SINGLE} {$DEFINE FPC_HAS_TYPE_DOUBLE} {$DEFINE FPC_HAS_TYPE_EXTENDED} {$DEFINE FPC_HAS_TYPE_COMP} Type Float = MaxFloatType; {$ENDIF}
然而并不能直接在math.pp中通过增加
{$DEFINE FPDOC_MATH}
来开启这个开关。
尝试了在Project Option的Custom Options中设置-dFPDOC_MATH,无效。
发现了两个相关讨论
Right way to turn FPDOC_MATH on?
How to turn on FPC_HAS_TYPE_COMP
但是没有有效结果。
相关文章推荐
- 新手,Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法
- Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法
- 无法打开谷歌网上应用商店 --> 设置(齿轮) --> 我的扩展程序和应用 这个选项?该如何解决呢?
- Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法
- 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法
- 如何查看已安装的MySQL的编译选项
- Android系统移植与调试之如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关
- #Mac技巧#如何在Mac系统上新建TXT文档,以及打开txt文稿的乱码问题如何解决
- 如何打开1433端口的解决方法
- 如何解决"MSVCRED" conflicts...的编译警告?
- eclipse编辑器中,如何配置编译命令-lm,使math.h 和pow(a,b)函数生效——C语言学习笔记4
- Win8系统如何关闭无线网后无法打开WiFi?Win8系统关闭无线网后无法打开WiFi的解决方法
- 如何解决 “fatal error C1083: ” 无法打开包括文件
- Android系统移植与调试之------->如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关
- 解决Cocos2d-x编译错误: 无法打开 源 文件 "extensions/ExtensionExport.h"
- Android Studio左边栏不显示Android选项如何解决
- 如何解决"ANSI C++ forbids data member `ip_opts' with same name as enclosing class"的编译错误
- 网管 迷你博客 打不开 啊!!打开时出现下面的情况!请问如何解决?
- 如何解决office2007每次打开都要正在配置
- 如何解决类模板的分离编译问题?