我正在使用C ++开发Stroustrup的原理和实践。我正在尝试编译以下程序。
Ogre
我尝试使用#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <Fl/Fl_Window.H>
int main()
{
Fl_Window window(200, 200, "Window title");
Fl_Box box(0,0,200,200,"Hey, I mean, Hello, World!");
window.show();
return Fl::run();
}
进行编译,但之后又抛出了以下错误
g++ -std=c++11 trial.cpp -o trial
我从终端安装了FLTK 1.3版。我正在我的电脑上运行Linux mint 17。我该如何编译这段代码?
答案 0 :(得分:12)
您必须将其与库链接:
g++ -std=c++11 trial.cpp -lfltk -o trial
对于您的代码,此库已足够,但根据您使用的类,您可能还需要添加:-lfltk_forms -lfltk_gl -lfltk_images
。
您还可以使用here提及的fltk-config
:
g++ -std=c++11 `fltk-config --cxxflags` trial.cpp `fltk-config --ldflags` -o trial
注意:在代码文件(cpp和includes)之后使用链接参数(-l)很重要,否则会出现编译错误。
答案 1 :(得分:0)
fltk-config 是一个不错的选择,但如果您想使用更多标志或更改它们,请尝试此操作。
$ fltk-config --compile your_file >> makefile
现在你有了所有的标志。您可以使用--cxxflags,但这种方式很有效。