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 错误的主要内容,如果未能解决你的问题,请参考以下文章

Windows 中 FLTK 2.0 中的链接错误

C++ 错误:Fltk 中的“FL/Fl_xyz_Button.H:没有这样的文件或目录”?

如何在 Xcode 6 中安装 FLTK 项目模板?

在 OX 10.11 上为 Xcode 7 安装 FLTK

FLTK 中的线程

FLTK 中的居中小部件