使用命名空间 fltk 在我的 FLTK 程序中不起作用

Posted

技术标签:

【中文标题】使用命名空间 fltk 在我的 FLTK 程序中不起作用【英文标题】:using namespace fltk is not working in my FLTK program 【发布时间】:2021-08-06 12:23:06 【问题描述】:
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Window.H>

int main()

    using namespace fltk;
    FI_Window window(200, 200, "Window title");
    FI_Box box(0, 0, 200, 200, "Hey, I mean, Hello, World! ");
    window.show();
    return Fl:: run();

以上是《Programming Principles and Practices using C++》一书中的基本 FLTK 程序,但 using namespace fltk; 行不起作用,错误消息名称必须是命名空间名称。我用谷歌搜索,发现上面的代码行是正确的,但仍然显示错误。 有人可以解释一下,该怎么做吗?

我正在使用 Visual Studio 2019 和 C++ 17。

【问题讨论】:

你从哪里得到的代码?这本书的哪个部分? 你的书需要什么版本的 FLTK 才能运行这个程序?你安装的是什么版本? (我猜分别是 FLTK-2 和 FLTK-1.3 版本,但不妨确定一下。) @Galik 来自 Bjarne Stroustrup 先生的《使用 C++ 编程原则和实践》附录部分“如何安装 FLTK”。 @JaMiT 是 FLTK 1.3.6 您很可能需要提出一个全新的问题。原来的问题解决了。在您的新问题中,您必须显示错误消息的确切文本(无图片)以及您所做的步骤,否则该问题将作为@JaMiT 在 cmets 中发布到他的答案的链接的副本关闭。您可以从 Visual Studio 的“输出”选项卡中获取文本。 【参考方案1】:

线

using namespace fltk;

仅对 FLTK 的实验/alpha 和休眠/停止的 2.0 版本有效。奇怪的是,您被告知添加这一行,因为您的其余代码使用当前稳定的 1.3 版本的命名方案。

从您的代码中删除这一行。

【讨论】:

感谢您的帮助! @JaMit 但现在我在命名空间行之后的代码行中遇到了问题。 FI_Window 未定义 FI_Box 未定义。这些怎么办? What is an undefined reference/unresolved external symbol error and how do I fix it?

以上是关于使用命名空间 fltk 在我的 FLTK 程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

找不到 FLTK(缺少:FLTK_INCLUDE_DIR)

如何在 Ubuntu 中使用 g++ 编译 fltk 程序?

使用 Visual Studio 构建 FLTK 多线程 (MT) 项目

根据构建目标,在 fltk-rs 中使用 fltk::osxMenuBar 或 MenuBar

使用 FLTK 在形状中填充颜色的 C++ 不适用于圆形

在 C++ 中使用 FLTK 的简单电话簿