C++程序设计原理与实践之GUI程序实现问题

看到网上有好多人问,C++程序设计原理与实践第二版17章第一个例子如何配置实现的问题,大部分的问题是程序编译链接时出现:无法解析的外部符号 “public: virtual void __thiscall Graph_lib::Shape::move(int,int)”,如此之类。于是,我把这个程序成功配置了一遍,把配置过程与大家分享。

首先给出常见错误的结论:

  • 不能解析的外部符号链接错误”:问题很可能是出现在创建项目的环节
  • “未找到.lib文件的编译错误”:问题可能出现在链接库(.lib)文件放置于编译器不能找到的地方(位置参考C:\software installation\vs2017\VC\Tools\MSVC\14.10.25017\lib)
  • “不能打开.h文件的编译错误”问题可能出现在头(.h)文件放置于编译器不能找到的地方(位置参考:C:\software installation\vs2017\VC\Tools\MSVC\14.10.25017\include)

(如何安装FLTK见原书附录D)

解决方案

  • 使用VS2017(或者其他版本VS)新建一个项目,建立源文件,代码如下:
#include"Simple_window.h"
#include"Graph.h"
int main()
{
	using namespace Graph_lib;

	Point tl{ 100,100 };
	Simple_window win{ tl,600,400,"Canvas" };
	Polygon 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();
}
  • 添加源文件如下图

这里写图片描述
源文件可以在stroustrup的主页下载。

  • 链接器配置

如图:
这里写图片描述

点击最下边属性(注意把光标定位于程序中):

这里写图片描述

在附加依赖项中添加:

fltkd.lib;wsock32.lib;comctl32.lib;fltkjpegd.lib;fltkimagesd.lib;

详细可见原书附录D

这样就配置成功了!

  • 最终的运行结果
    这里写图片描述

博客同步更新于:http://liuxr.top/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值