FLTK介绍

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

下载界面库

FLTK官网下载最新版本的源码(e.g. fltk-1.3.4-1-source.tar.gz)。解压源码文件到相应的目录,

C:\Users\yourname\Downloads\fltk-1.3.4

Build FLTK库

下面介绍如果再Visual Studio中Build Solution

  1. 找到工程文件夹。

    fltk-1.3.4\ide\VisualC2010
  2. 双击fltk.sln,耐心等待visual studio打开。
  3. Build菜单中找到 Configuration Manager并打开,切换到Release。
  4. Build菜单中找到 Rebuild Solution并点击,耐心等待Build完成。

将FLTK库添加到Visual Stidio中

Build成功之后我们需要做的就是把文件拷贝到相应的目录内。

  1. 复制 FL and GL 文件夹, 例如,

    C:\Users\yourname\Downloads\fltk-1.3.4\FL

    C:\Users\yourname\Downloads\fltk-1.3.4\GL

    到Visual Studio的$(VC_IncludePath)文件夹下

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\include
  2. 复制lib文件夹下的所有文件,

    C:\Users\yourname\Downloads\fltk-1.3.4\lib

    到Visual Studio的$(VC_LibraryPath_x86) 文件夹下

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\lib\x86

测试是否通过

重新打开Visual Studio 新建一个win32 project,在project wizard中选择Empty。

好了,现在我们新建一个main.cpp

#include <Windows.h> // include Windows.h only if using WinMain
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Window.H> // Use standard main to have console background:
// int main() // Use WinMain if you don't want the console in the background:
int __stdcall WinMain(
__in HINSTANCE hInstance,
__in_opt HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nShowCmd
)
{
Fl_Window window( 200, 200, "My window title" );
Fl_Box box( 0, 50, 200, 20, "Hello" );
window.show();
return Fl::run();
}

项目右键Properties,需要做以下几个修改,需要注意的是Release和Debug都需要进行设置

Configuration Properties
C/C++
Code Generation
Runtime Library
Multi-threaded Debug DLL (/MDd)
Linker
Input
Additional Dependecies
fltk.lib
fltkimages.lib
fltkjpeg.lib
fltkpng.lib
fltkzlib.lib
fltkgl.lib
fltkforms.lib Ignore Specific Default Libraries
libcd.lib

现在我们可以Build并运行了,如果可以正常运行就表示我们安装成功了。

Visual Studio 编译使用FLTK库的更多相关文章

  1. Visual Studio 编译Winform程序不生成.vshost.exe和.pdb文件的方法

    问题:使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 先解释一下各个文件的作用: .pdb文件: ...

  2. 后台大哥请进一步:使用Visual Studio编译scss和souce map实现前后端的完美结合

    title: 后台大哥请进一步:使用Visual Studio编译scss和souce map实现前后端的完美结合 date: 2020-06-28 sidebarDepth: 2 tags: win ...

  3. Visual Studio 编译项目失败,提示找不到文件

     博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio ...

  4. Visual Studio命令行创建库文件lib

    Visual Studio命令行创建库文件lib OS:win7 旗舰版SP1 64位 编译器: VS 2013 express 的cl 建一个文件Static_Lib.h,源代码如下 #ifndef ...

  5. Windows 使用 Visual Studio 编译 caffe

    说明:最近看 caffe 发现在 github 上下载的源码没有windows版本的,需要自己生成项目文件才能用 Visual Studio 编译,这里记录一下生成Windows项目文件的方法以及编译 ...

  6. Visual Studio 编译后去掉只读属性

    Visual Studio 编译后去掉只读属性 attrib $(TargetPath) -R attrib $(TargetDir)$(TargetName).pdb -R

  7. Visual Studio编译Core程序部署到linux

    一.背景 随着微软拥抱开源,推出Net Core框架,目前已经支持跨平台,能部署到Linux.MacOS.Windows等系统上. 下面我们就来分享一下Visual Studio编译好的代码部署到Li ...

  8. 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法

    1,到官网下载最新的boost,www.boost.org 这里我下载的1-63版本. 2,安装,解压后运行bootstrap.bat文件.稍等一小会就OK. 3,编译boost库.注意一定要使用VS ...

  9. 新手,Visual Studio 2013 配置Boost库,如何编译和选择

    QuantLib installation in VC++ 2010 and later 参考:http://quantlib.org/install/vc10.shtml 1,到官网下载最新的boo ...

随机推荐

  1. 安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)

    前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络 ...

  2. Maven “Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.4:create...”问题总结

    今天学习Maven的过程中,一直遇到一个问题:用maven指令构建新项目时,一直报错,用的 Maven 3.2 , JDK 6. 构建的命令: 错误信息: 解决方案: 在StackOverFlow上找 ...

  3. CSS3伪类实现动画旋转效果

    一个简单的动画效果demo,keyframes为关键帧,图片贴在代码下方.利用了伪类实现css3动画效果,初学者可以看一下,恩.<!doctype html> <html lang= ...

  4. MySql学习笔记(四)

    MYSQL如何查看系统帮助: 1.查看官方API文档: http://dev.mysql.com/doc/ 2.通过Mysql中的help命令 比如:help create database MYSQ ...

  5. poj-2287---Tian Ji -- The Horse Racing

    #include<iostream> #include<algorithm> using namespace std; bool cmp(const int,const int ...

  6. QueueAPI记录

    队列是一种数据结构.它有两个基本操作:在队列尾部加人一个元素,和从队列头部移除一个元素就是说,队列以一种先进先出的方式管理数据,如果你试图向一个 已经满了的阻塞队列中添加一个元素或者是从一个空的阻塞队 ...

  7. MySQL的MySQL 的JDBC的安装与使用

    1.配置好环境,主要是安装mysql和下载连接需要的包(我用的是mysql-connector-java-5.1.3-rc-bin.jar) 2.注册驱动  Class.forName("c ...

  8. box-sizing 属性应用

    1.box-sizing属性功能 官方说明文档为:http://www.w3school.com.cn/cssref/pr_box-sizing.asp box-sizing 属性允许您以特定的方式定 ...

  9. 【LeetCode】数组-4(581)-给未排序数组中子数组排序使得整个数组排序 找到这个最小的子数组

    这道题目感觉并不太容易,也并没有想到什么比较好的方法,看来还是积累太少. 思路一:两个指针向后遍历,分别记下造成逆序的最小和最大下标位置 优化的暴力解法(很精妙,面试的时候可以说出来) 思想:两个指针 ...

  10. sqlite数据库之简单操作

    一 sqlite介绍 Sqlite是一种嵌入式数据库,类似于一个文件系统,是跟程序在一起的.跟mysql等数据库程序跟数据分离是不一样的. 应用场景:常用于保存本地配置,类似于本地文件系统,因此他内嵌 ...