xCode math.h 中的 FLTK 错误
Posted
技术标签:
【中文标题】xCode math.h 中的 FLTK 错误【英文标题】:FLTK in xCode math.h error 【发布时间】:2014-10-12 22:14:41 【问题描述】:我一直在尝试在 xCode 中设置 FLTK。经过一番挣扎后,我认为我已成功链接所有库等...但是,我现在从位于 FL/include 文件夹中的 math.h 文件中收到以下错误:
'/usr/include/math.h'file not found
来自以下代码:
// Xcode on OS X includes files by recursing down into directories.
// This code catches the cycle and directly includes the required file.
#ifdef fl_math_h_cyclic_include
# include "/usr/include/math.h"
#endif
我已经阅读了之前发布的一些不同的解决方案,但它们似乎都不适合我。该目录中没有文件math.h
。提前感谢您的帮助!
【问题讨论】:
【参考方案1】:我在尝试在 Visual Studio 2015 社区中使用 FLTK .lib 文件时遇到了同样的问题。经过一番搜索,这个 *** 页面给了我正确的提示:
Resolving LNK4098: defaultlib 'MSVCRT' conflicts with
我犯的错误是我很久以前自己构建了 FLTK .lib 文件并且忘记了我使用的设置。
在需要 FLTK 的新项目中,我需要 VS2015 中的以下设置(这是由我想与 FLTK 一起使用的另一个库强制执行的): 项目属性 -> C/C++ -> 我需要的运行时库 多线程调试 (/MTd)
原来我在使用前一年构建了 FLTK .libs
多线程调试 DLL (/MDd) 而不是 多线程调试 (/MTd)
我做了两件事: 在 VS2015 中使用正确的设置重建 FLTK 库和
在FLTK的FL文件夹中,我将math.h文件重命名为Fl_math.h
这解决了问题。
【讨论】:
【参考方案2】:我在 Linux 上遇到了类似的问题。我绕过它的方式是
-
在 FL 目录中,将 math.h 重命名为 Fl_math.h
在#include FL/math.h 更改为 FL/Fl_math.h 的所有文件中
基本问题是像 M_E 这样的常量默认没有定义,所以 Fl_math.h 定义了它们。在 Linux/MS 环境下,Fl_math.h 需要做的就是
#define _USE_MATH_DEFINES
#include <cmath>
Xcode 环境可能相同。
【讨论】:
以上是关于xCode math.h 中的 FLTK 错误的主要内容,如果未能解决你的问题,请参考以下文章