代码块的 FLTK 错误
Posted
技术标签:
【中文标题】代码块的 FLTK 错误【英文标题】:FLTK error with Codeblocks 【发布时间】:2018-05-31 13:00:21 【问题描述】:我想用 FLTK 做一个 GUI。所以我通过酿造将它安装在我的Mac上。到目前为止效果很好。
尽管如此,当我尝试编译一个小程序时,我收到以下错误消息:
-------------- Build: Debug in fltk_test (compiler: GNU GCC Compiler)---------------
g++ -o bin/Debug/fltk_test obj/Debug/main.o
Undefined symbols for architecture x86_64:
"fl_define_FL_SHADOW_LABEL()", referenced from:
_main in main.o
"Fl::run()", referenced from:
_main in main.o
"Fl_Box::Fl_Box(int, int, int, int, char const*)", referenced from:
_main in main.o
"Fl_Group::end()", referenced from:
_main in main.o
"Fl_Window::show(int, char**)", referenced from:
_main in main.o
"Fl_Window::Fl_Window(int, int, char const*)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Process terminated with status 1 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
这是我的代码:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
int main (int argc, char ** argv)
Fl_Window *window;
Fl_Box *box;
window = new Fl_Window (300, 180);
box = new Fl_Box (20, 40, 260, 100, "Hello World!");
box->box (FL_UP_BOX);
box->labelsize (36);
box->labelfont (FL_BOLD+FL_ITALIC);
box->labeltype (FL_SHADOW_LABEL);
window->end ();
window->show (argc, argv);
return(Fl::run());
相信我,我搜索了四个多小时,尝试使用不同的 IDE(Atom)等等。 “正常”C++ 工作正常...
提前致谢。我很感激我能得到的每一个提示或帮助:)
【问题讨论】:
What is an undefined reference/unresolved external symbol error and how do I fix it?的可能重复 【参考方案1】:您应该将编译器链接到 fltk。转到project->build options->linker options->add
并写fltk
然后保存并重建项目并运行它。
在某些用法中,您还需要将fltk_forms
、fltk_gl
fltk_images
链接到编译器。
【讨论】:
【参考方案2】:编译器告诉您它找不到您正在调用的 FLTK 函数的函数定义。这意味着您没有正确链接 FLTK 库。请参阅标题下有关如何链接库 here 的说明:编译您的程序
【讨论】:
感谢您的回答,但老实说,我也没有完成。我必须将这个 (c++ -I/usr/local/include ...) 添加到编译器行,但是我在 Code::Blocks 哪里可以找到它,我想我必须替换三个点,嗯,怎么办我必须放在那里?对不起以上是关于代码块的 FLTK 错误的主要内容,如果未能解决你的问题,请参考以下文章