fltk和glog在mac下的安装与编译

article/2025/9/1 13:38:17

glog

根据官方文档安装即可
https://github.com/google/glog

% git clone https://github.com/google/glog.git
% cd glog
% cmake -S . -B build -G "Unix Makefiles" //这句含义未知
% cmake --build build

安装完后可以去/usr/local目录下查看是否有对应的头文件和lib文件
若没有可以尝试make install命令

% make install

源文件如下
demo.cpp

#include <glog/logging.h>#pragma comment(lib, "glog.lib")using namespace std;int main(int argc, char* argv[])
{string logpath = "./";//init   google::InitGoogleLogging(argv[0]);string info_log = logpath + "info_";google::SetLogDestination(google::INFO, info_log.c_str());string warning_log = logpath + "warning_";google::SetLogDestination(google::WARNING, warning_log.c_str());LOG(INFO) << "Hello Glog";LOG(WARNING) << "Hello Glog";getchar();return 0;
}

makefile

test:g++ demo.cpp -o main \-I/usr/local/include/glog \-L/usr/local/lib \-lglog

fltk

官方网站https://www.fltk.org/
1.3.7版本安装
然后cd进入fltk-1.3.7

% pwd
..../fltk-1.3.7
% mkdir build
% cd build
% cmake ..../fltk-1.3.7
【一些输出】
% make
【一些输出】
% make install

到此为止安装结束
源文件
base.hpp

#ifndef _BASE_HPP_
#define _BASE_HPP_#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>#endif//!_BASE_HPP_

demo.cpp

#include "base.hpp"
using namespace std;int main(int argc, char **argv) {Fl_Window *window = new Fl_Window(340,180);Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!");box->box(FL_UP_BOX);box->labelfont(FL_BOLD+FL_ITALIC);box->labelsize(36);box->labeltype(FL_SHADOW_LABEL);window->end();window->show(argc, argv);return Fl::run();
}

makefile

#1.from document
test:fltk-config —compile demo.cpp#2.from document
CXX = $(shell fltk-config --cxx)
DEBUG = -g
CXXFLAGS = $(shell fltk-config --use-gl --use-images --cxxflags ) -I.
LDFLAGS = $(shell fltk-config --use-gl --use-images --ldflags )
LDSTATIC = $(shell fltk-config --use-gl --use-images --ldstaticflags )
LINK = $(CXX)
TARGET = cube
OBJS = demo.o
SRCS = demo.cpp
.SUFFIXES: .o .cpp
%.o: %.cpp$(CXX) $(CXXFLAGS) $(DEBUG) -c $<
all: $(TARGET)$(LINK) -o $(TARGET) $(OBJS) $(LDSTATIC)
$(TARGET): $(OBJS)
demo.o: demo.cpp
clean: $(TARGET) $(OBJS)rm -f *.o 2> /dev/nullrm -f $(TARGET) 2> /dev/null

makefile里有两种选择,任选一种即可,均来自于fltk的官方文档

插两张windows下使用fltk的图片
安装
使用
补上windows下编译通过的makefile,最后一行命令我找了很久才找到,但是我对其表示的含义目前尚不明确

test:g++ base.hpp demo.cpp \-o test \-I F:\CommonlyUsed\AllCode\fltk-1.3.5 \-I F:\CommonlyUsed\AllCode\fltk-1.3.5\build \-L F:\CommonlyUsed\AllCode\fltk-1.3.5\build\lib \-lfltk -lcomctl32 -lwsock32 -lole32 -luuid -mwindows

2022-7-26更新
mac下用cmake编译的一个问题,简述就是在链接的时候不仅要加fltk,而且要"-framework Cocoa"
先放cmake文件

####################################################################
cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
####################################################################
set(PROJECT_NAME "fltk_test")
set(LOCAL_INCLUDE "/usr/local/include")
set(LOCAL_LIB "/usr/local/lib")
set(BREW "/opt/homebrew/Cellar/")
# protobuf
set(PROTOBUF_INCLUDE "${BREW}/protobuf/3.17.3/include/google")
set(PROTOBUF_LIB "${BREW}/protobuf/3.17.3/lib")
####################################################################
project(${PROJECT_NAME})
####################################################################
# include
include_directories(${LOCAL_INCLUDE})
# lib
link_directories(${LOCAL_LIB})
####################################################################
# aux_source_directory(. SOURCE)
file(GLOB_RECURSE SRC "${CMAKE_SOURCE_DIR}/src/*")
add_executable(${PROJECT_NAME} ${SRC})####################################################################
# 链接库
target_link_libraries(${PROJECT_NAME} pthread fltk  "-framework Cocoa" )
#可以成功编译的构建指令
#g++ -o cube main.o
#   /usr/local/lib/libfltk_images.a
#   /usr/local/lib/libfltk_png.a -lz
#   /usr/local/lib/libfltk_jpeg.a
#   /usr/local/lib/libfltk_gl.a -framework OpenGL
#   /usr/local/lib/libfltk.a -lpthread -framework Cocoa

重点是在target_link_libraries里面需要加入"-framework Cocoa"


http://chatgpt.dhexx.cn/article/kvJ6Oitu.shtml

相关文章

c语言fltk图形库,FLTK编程模型

2003 年 5 月 10 日 FLTK(Fast Light Tool Kit 发音为fulltick) 是一种使用C++开发的GUI工具包,它可以应用于Unix,Linux,MS-Windows95/98/NT/2000和MacOS操作系统平台,相对于其它的许多图形接口开发工具包(如MFC、GTK、QT等),它具有体积很小、速度比较快,且有着更好的移植性…

FLTK-Rs

终于还是到这一步了&#xff0c;可视化&#xff0c;我的超人&#xff01; FLTK是一个跨平台的轻量级 gui 库。该库本身是用 C98 编写的&#xff0c;具有很高的可移植性。fltk crate 是用 Rust 编写的&#xff0c;并使用 FFI 调用 FLTK 包装器cfltk&#xff0c;它是用 C89 和 C…

Visual Studio 安装 FLTK

Visual Studio 安装 FLTK 环境介绍 Windows 10Visual Studio Community 2019 (2021-11-29补充2022版)FLTK-1.3.7 下载与解压 ​ 进入FLTK官网-Download下载最新版本。 ​ 解压到D:\Program Files\fltk(解压路径任意都行)&#xff0c;推荐使用Bandzip免费解压工具。 编译 …

FLTK--轻量级C++跨平台GUI库

FLTK FLTK&#xff08;Fast Light Toolkit&#xff09;是一个跨平台的CGUI工具集&#xff0c;用在UNIX/Linux&#xff08;X11&#xff09;、微软Windows和Mac OS X上。FLTK提供现代的GUI功能&#xff0c;除却膨胀&#xff0c;通过OpenGL和内建的GLUT模拟器提供3D图形支持。最初…

浅谈如何fltk项目编译和实现显示中文

目录 一、编译 二、中文显示如何处理&#xff1a; 2.1在发文2天前突然发现&#xff0c;我这个界面显示英文出现问题了&#xff0c;开始我的搜索之旅&#xff0c;一些参考页面有碰到问题也可以看看&#xff1a; 2.2、 那就开始翻翻官方自带的例程吧&#xff0c;看看他如何显…

FLTK 学习一:简介和安装

文章目录 FLTK 简介FLTK 安装FLTK Windows安装FLTK Linux 安装 FLTK 简单示例参考资料 FLTK 简介 从网上引用的一段 FLTK 的介绍 FLTK (Fast Light Tool Kit 发音为fulltick) 是一种使用 C 开发的 GUI 工具包&#xff0c;它可以应用于 Unix, Linux, MS-Windows95/98/NT/2000 和…

安装使用FLTK图形库

FLTK是Fast Light Toolkit的简称&#xff0c;是一个跨平台的C GUI包&#xff0c;FLTK提供xiandai GUI功能&#xff0c;而且通过OpenGL支持3D图像。 下载FLTK安转包fltk-1.3.4-1-source.tar.gz&#xff1a; http://www.fltk.org/software.php?VERSION1.3.4&FILEfltk/1.3.…

BOBCAT: 基于双层优化的计算机化自适应测验(超硬核解读论文+阅读论文技巧)

文章目录 前言AbstractIntroductionCAT 介绍传统的认知诊断模型传统的CAT选题策略传统方法局限性 ContributionsBOBCAT框架双层优化问题BOBCAT框架BOBCAT 训练过程 OptimizationExperiments能力评估问题暴露和内容重叠问题选择 Conclusions 前言 大家好&#xff0c;我是小曾&a…

项目管理理论与实践(3)——如何进行有效的项目管理

对于具有成功并有效的项目管理经验的项目经理&#xff0c;还是非常难得的。因为项目管理并不是一件很简单的事情。虽然自己对于项目管理的理解还是处于初级阶段&#xff0c;但是利用自己学习到的理论知识&#xff0c;还是想做一次归纳&#xff0c;希望对大家能够受用。那么就开…

计算机自适应考试技巧,计算机自适应题库实现

在软件的开发中,基于题库的计算机自适应考试已成为一个重要的发展方向,而计算机自适应题库的建立就显得尤为重要。计算机自适应测验(Computerized Adaptive Testing,简称CAT)是近年来发展起来的一种新的测验形式。这种测验以项目反应理论为基础,以计算机技术为手段,在题库…

项目经理都会面临什么问题?

最近手里一个项目接近尾声&#xff0c;还有一个项目正在初期调研&#xff0c;无缝衔接&#xff0c;原定结项之后的3天假期也泡汤了&#xff0c;每一个环节都出问题我真的会心累&#xff0c;再加上最近组里人事变动&#xff0c;也没有及时做好复盘&#xff0c;客户又出现了临时需…

反应-扩散方程(Reaction-diffusion system)

文章目录 1. 单组分反应-扩散方程2. 双组分反应-扩散方程3. 三组分和更多组分的反应-扩散方程4. Fishers equation4.1 KPP方程 5. Belousov–Zhabotinsky reaction5.1 历史5.2 化学机理5.2.1 变体 5.3 Noise-induced order5.3.1 数学背景 6. Briggs–Rauscher reaction7. ZFK e…

项目延期的因素有哪些?项目经理应该如何应对

项目延期是项目管理中常见的问题之一&#xff0c;也是管理者最头疼的问题。项目延期的出现可能是由于以下原因&#xff1a; 1、工作中突发事件多&#xff1a;在评估工作量时&#xff0c;通常会基于过往的经验来进行评估&#xff0c;但由于信息社会中各种信息随处可见&#xf…

项目管理中影响项目进度的原因及解决方法

项目管理中对工期的控制主要是进度控制&#xff0c;在项目进行过程中&#xff0c;由于项目时间跨度长&#xff0c;人员繁杂&#xff0c;如果管理不规范&#xff0c;就容易导致项目进度滞后&#xff0c;如何管理好施工进度是管理者需要解决的问题之一。 1、项目计划缺乏执行力…

图解PMP项目管理马斯洛需求层次理论在公司管理中的应用!

马斯洛的需求层次结构是心理学中的激励理论&#xff0c;包括人类需求的五级模型&#xff0c;通常被描绘成金字塔内的等级。 从层次结构的底部向上&#xff0c;需求分别为&#xff1a;生理&#xff08;食物和衣服&#xff09;&#xff0c;安全&#xff08;工作保障&#xff09;…

php 项目反应理论,科学网—好文 | 纽约石溪大学:机器学习中基于项目反应理论的集成学习 - 陈培颖的博文...

机器学习中&#xff0c;研究者们对分类集成的关注与日俱增&#xff0c;尤其关注分类精度的提升。IJAC近期发表了来自纽约石溪大学研究者的最新成果&#xff0c;该研究基于项目反应理论&#xff0c;提出一种加权投票方法---基于IRT理论的集成学习算法&#xff0c;该方法可正确处…

项目反应理论 EM估计

项目反应理论参数的EM估计 写在前面&#xff1a; 本文主要描述了整个IRT使用EM算法参数的估计过程&#xff0c;其中涉及大量公式&#xff0c;如只是需要了解IRT相关基础知识&#xff0c;请转战wiki&#xff5e;&#xff5e; 预警&#xff1a; 大量公式来袭&#xff5e;&#…

项目反应理论

项目反应理论(item response theory)是属于心理学中认知诊断常用的一种理论,即根据被测试者针对某个问题的答案来对被测者的认知状况进行估计。“项目”实质就是测试题,“反应”就是被测者的答案。也有学者称项目反应理论也是机器学习中的一个类别,即根据被测者对测试题的…

密码校验密码正则校验,密码表单校验总结

一.前言&#xff0c;日常开发中&#xff0c;表单校验是出现率非常高的一个需求&#xff0c;特别是密码校验。本文就针对常见的几种密码校验&#xff08;含正则&#xff09;做个总结&#xff0c;做个共享。 二. 密码必须包含数字&#xff0c;字母和特殊符号。 写法&#xff1a;…

正则表达式-几种常见的密码校验

原文&#xff1a;https://jingyan.baidu.com/article/5bbb5a1b634cca53eba179ce.html 首先说一下密码必须是6~18位之间的数字&#xff0c;正则表达式为"^[0-9]{6,18}$"&#xff0c;其中[0-9]表示必须是数字&#xff0c;{6,18}表示必须在6到18位之间&#xff0c;代码如…