使用CLion配置第一个FLTK界面
文章目录
- 写在前面
- 安装与配置
- 安装
- helloworld
- 配置命令行
- 配置CLion
- 运行结果
写在前面
假期抽时间学习一下跨平台GUI界面的开发, 正好也当做C++的练手小项目了. C++标准库中没有对于GUI的支持, 需要依赖三方库, 这里我先想到的是老牌跨平台GUI——Qt, 但是作为一个小项目感觉使用Qt有点小题大做, 后来看到FLTK这个跨平台的图形库, 感觉可以研究一番. 体积小, 跨平台, 编译速度快, 是个不错的选择. 缺点也有, 就是界面比较丑, 社区也不是很活跃, 但是好在最新版本是几个月前的, 所以也可以研究一下.
官网:Fast Light Toolkit - Fast Light Toolkit (FLTK);
官方文档: FLTK 1.3.6: FLTK Programming Manual.
官方文档PDF: FLTK 1.3.6 Programming Manual;
其他资源:
一个罗列FLTK常用代码段的网站: Erco’s FLTK Cheat Page (seriss.com).
安装与配置
运行环境:
macOS 11.4
homebrew Apple Silicon
安装
直接终端输入:
brew install fltk
即可完成安装, Windows下可能需要编译安装.
终端输入:
~ → fltk-config --version
1.3.6
即为安装成功.
helloworld
下面是一个简单的FLTK程序的示例, 用于输出Hello world.
#include <iostream>
#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);window->label("HelloWorld!");box = new Fl_Box(20, 40, 260, 100, "Hello World!");box->box(FL_UP_BOX);box->labelsize(36);box->labelfont(FL_BOLD + FL_ITALIC);(FL_SHADOW_LABEL);window->end();window->show(argc, argv);return Fl::run();
}
配置命令行
命令行直接使用fltk-config --compile yourfilename.cpp
即可快速生成.app
文件, 还是很方便的, 但是还得需要个趁手的IDE才行. 一开始我想用已经熟悉的Sublime, 但是其对C/C++的补全和格式化等支持的不够好,思考再三, 我决定选用CLion(一年免费教育体验真香).
配置CLion
这里走了一些弯路, 由于之前没接触过cmake, 在命令行下编译成功的例子来到CLion这里就不行了, 后来逐渐摸索出了成功构建的配置方式.
参考官方文档, 采用标准编译的命令是这样的:
g++ main.cpp -I/opt/homebrew/include -L/opt/homebrew/lib -lfltk -lXext -lX11 -lm
于是, 在CMakeLists.txt中, 这样配置:
cmake_minimum_required(VERSION 3.19)
project(fltk_proj)# 设置C++标准
set(CMAKE_CXX_STANDARD 11)# 相当于gcc `-I`参数
include_directories("/opt/homebrew/include")
# 相当于gcc `-L`参数
link_directories("/opt/homebrew/lib")
# 相当于gcc `-l`参数
link_libraries("fltk")
link_libraries("Xext")
link_libraries("X11")
link_libraries("m")# 添加可执行程序
add_executable(test1 main.cpp)
里面的参数设置都对应了gcc的参数, 这里注意头文件和链接库的目录是/opt/homebrew/
, Intel版Mac的话应该是/usr/local/
, 需要注意一下.
运行结果
确实不怎么好看…后续研究研究怎么美化这个界面.
使用CLion配置第一个FLTK界面相关推荐
- python可视化界面编程 pycharm_pycharm开发一个简单界面和通用mvc模板(操作方法图解)...
文章首先使用pycharm的 PyQt5 Designer 做一个简单的界面,然后引入所谓的"mvc框架". 一.设计登录界面 下面开始第一个话题,使用pycharm的 PyQt5 ...
- clion变量配置_cygwin安装和clion配置
1. cygwin和minGW 说到cygwin,就不得不提minGW. 二者的区别可以参考问答Cygwin 和MinGW 的区别与联系是怎样的. 其中叶王的回答足够简练和准确,能够快速帮助我们加深对 ...
- 即使是菜鸟,也能配置出一个网站
对于刚进入IT行业的你,是否会觉得配置出一个像样的公司网站是很大的挑战?如果你有相同的感受,那么今天读过这篇文章之后,你的心情将会舒畅很多,因为我这名技术入门者,根据下面的方法很容易的配置出了网站,在 ...
- Clion配置Ros环境
在Linux中,Clion也算是一个不错的开发IDE工具了,优点就不再赘述了. 在使用过程中尤其是发现CLion的格式化代码功能和实时代码分析功能真是太方便了,不过却不是免费的,收费大概是个人版一月5 ...
- 编写第一个JavaFX界面
上一篇中我们讲到了关于Java Scene Builder2.0工具的基本使用,这一篇我们来讲讲如何利用IDEA+Java Scene Builder来写一个小界面~~~ 在之前的配置和新建FX项目博 ...
- 华为服务器开机显示选择一个选项,win10系统频繁出现“选择一个选项”界面的解决方法...
运行win10电脑过程中或多或少都出现一点小问题,对于新手来说,一点小故障问题令人束手无策.近期,就有一位网友说电脑频繁出现"选择一个选项"界面,这要怎么处理?面对此故障问题,小编 ...
- vue 创建一个登录界面
vue创建一个登录界面 (1)创建登录界面和主页 (2)配置路由 (3)配置main.js (4)配置App.vue (5)登录页面 (6)主页面 用到的组件 参考链接 (1)创建登录界面和主页 打开 ...
- Clion配置Qt+MSVC/MinGW环境
Clion配置Qt+MSVC/MinGW环境 (正在持续更新) Clion配置Qt+MSVC/MinGW环境 1. QT中的编译器 2. 两种编译器的优势劣势 3. Clion + Qt - MSVC ...
- 【工具】clion配置git,fork数据结构教科书源码并clone到本地
1. 下载地址 clion官网 git官网 项目需要的工具链 cygwin官网 源码github地址 严蔚敏 吴伟民 数据结构教程源码(代码作者:kangjianwei) 修改本机hosts的软件 ( ...
最新文章
- 百度15篇论文被AAAI 2019收录
- android 6.0 重启 丢失 壁纸,android6.0 壁纸设置流程讲解
- Tensorflow— word2vec
- java开发常用jar包_Java开发中常用jar包整理及使用
- ie插件获取dom_读书笔记《DOM编程艺术》DOM
- java第七章jdbc课后简答题_Java周测题08.13
- MsSql正反表达式
- Debug解决问题方法论
- pytorch/tensorflow 查看 cuda 是否可用
- Python中函数的形参与按值传递之间的关系
- 如何禁止用户安装应用程序,记下来,方便以后用
- spring源码 学习方法
- 图案怎么导入ps?Photoshop图案导入教程
- python调用有道翻译API进行翻译
- 计算机专业英文授课,计算机专业全英文授课分析
- 2017年是晚立秋,“秋老虎”来袭!
- java实现发送短信和邮箱
- 超市选址c语言程序,谈谈超市选址的重要性
- 光纤耦合系统的公差分析
- bluehost中国和bluehost美国的区别?应该选择哪个?