使用命名空间 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 程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 中使用 g++ 编译 fltk 程序?
使用 Visual Studio 构建 FLTK 多线程 (MT) 项目