我一直在Bjarne的教科书中自学C ++。我真的很喜欢他的解释风格。我的问题是第12-16章要求我使用Bjarne提供的一些代码]
http://www.stroustrup.com/Programming/PPP2code/
这段代码需要我已经在Ubuntu计算机上安装的fltk库。要测试安装,有一个简单的文件fltk_test.cpp使用fltk-config --compile fltk_test.cpp编译。现在,第12章中的练习(下面的git存储库中的test1.cpp)根本不想编译。我不确定如何进行。我已经创建了一个git存储库,以便人们可以快速克隆它并查看发生了什么
https://github.com/azpervaiz/StroustrupPPP2.git
我认为该代码只是被诱骗所诱捕。我认为有些模棱两可的类标识,缺少(注释掉)构造函数。这是我的周末项目。
您可以尝试使用 g ++ test1.cpp Graph.cpp Simple_window.cpp Window.cpp -o output --std = c ++ 11 fltk-config --ldflags
test1.cpp我梦night以求的错误小说。
我能提供的任何帮助将不胜感激。非常感谢 !
编辑
我正在附上给我错误的简单代码test1.cpp
#include“ Simple_window.h”#include“ Graph.h”int main(void){使用名称空间Graph_lib;Graph_lib :: Point tl {100,100};Simple_window win {tl,600,400,“ Canvas”};多边形poly;poly.add(Point {300,200});poly.add(Point {350,100});poly.add(Point {400,200});poly.set_color(Color :: red);win.attach(poly);win.wait_for_button();}
这里是错误文件链接
https://github.com/azpervaiz/StroustrupPPP2/blob/master/error.log
将...-config
放在$(...)
内:
g++ test1.cpp Graph.cpp Simple_window.cpp Window.cpp -o output --std=c++11 $(fltk-config --ldflags)
[它的工作方式,fltk-config --ldflags
输出(您可以在终端中运行它:]
-L/usr/lib64 -lfltk -lm -lX11 -lXext -lpthread -lXinerama -lXfixes -lXcursor -lXft -lXrender -lfontconfig -ldl
因此添加了库搜索路径并与某些库链接。 $(...)
在内部运行命令,并由命令输出替换,以便将标志作为参数传递给g++
。您的书中的命令很有可能会放在难以发现的`...`反引号内-反引号与$(...)
的用法相同,但不鼓励使用反引号(例如,由于某些命令可读性差,但是还有其他原因)。