zoukankan      html  css  js  c++  java
  • 如何在VS2008下使用FLTK

    在VS2008下使用FLTK(VS2008 Service Pack 1须已被安装。)

    一、          编译FLTK(两种方法)

    方法1:

    ①用VS2008打开fltk.sln(文件在...fltk-1.3.xxxxideVisualC2008fltk.sln)

    ②在解决方案配置框选择debug或release。 

     

    ③在VS2008左边解决方案资源管理器下右击demo文件,选择“设为启动项目”

    ④按F7

    方法2(推荐使用这个方法):

    使用Cmake。从http://www.cmake.org/下载并安装Cmake。步骤见:

    http://blog.163.com/jacky_ling0/blog/static/137392571201010484049654/

    我编译成功的64位库链接地址:http://files.cnblogs.com/jiahu-Blog/FLTK%E5%B7%B2%E7%BC%96%E8%AF%91.rar

     

    二、安装FLTK:

    VS默认的库与头文件目录为:

    C:Program FilesMicrosoft Visual Studio 9.0VC

    如果你更改了安装目录,所需目录一般在你的安装目录下可以找到这。找到VC目录之后的操作与下面相同。

    将FLTK的头文件与库文件复制到对应的文件夹下:

    1、复制所有的  .lib 文件到VC库目录(即....VClib)。

    2、复制整个FL目录到VC的include目录下(即....VCinclude)。

    3、复制fluid.exe到VC的bin目录下(....VCin)。

    (不建议使用动态.dll库,因为可能需要安装。最好使用.lib库)

    三、创建一个新的项目:

    在Visual C++下选择“常规”,在左边选择“空项目”或者建立win32控制台程序(空项目)。然后添加一个  *.cpp 文件。

    右击项目名,选择属性→C/C++→预处理器→(将  WIN32;NDEBUG;_CONSOLE  复制进“预处理器定义”)

    右击项目名,选择属性→链接器→输入→将fltk*.lib的目录写入附加的依赖项(例如:D:AppInstallVS2008VClibfltk*  加星号的目的是将所有FLTK库都导入)

     

    测试代码:

    #include <FL/Fl.H>

    #include <FL/Fl_Window.H>

    #include <FL/Fl_Button.H>

    #include <FL/Fl_Input.H>

    #include <FL/Fl_Output.H>

    #include <cstdlib>                   //for exit(0)

    #include <string.h>

    using namespace std;

     

    void copy_cb( Fl_Widget* , void* );  //function prototypes

    void close_cb( Fl_Widget* , void* );

    void make_window();

    int main() {

             make_window();

             return Fl::run();

    }

    void make_window() {

             Fl_Window* win= new Fl_Window(300,200, "Testing 2");

             win->begin();      

             Fl_Button*  copy = new Fl_Button( 10, 150, 70, 30, "C&opy"); //child 0   : 1st widget

             Fl_Button* close = new Fl_Button(100, 150, 70, 30, "&Quit"); //child 1    : 2nd widget

             Fl_Input*       inp = new Fl_Input(50, 50, 140, 30, "In");              //child 2 : 3rd widget

             Fl_Output*    out = new Fl_Output(50, 100, 140, 30, "Out");     //child 3   : 4th widget

             win->end();

             copy->callback(  copy_cb );

             close->callback( close_cb );

             win->show();

    }

    void copy_cb( Fl_Widget* o , void* ) {

             Fl_Button* b=(Fl_Button*)o;

             Fl_Input* iw = (Fl_Input*) b -> parent() -> child(2);

             Fl_Output* ow = (Fl_Output*) b -> parent() -> child(3);

             ow->value( iw->value() );

    }

    void close_cb( Fl_Widget* o, void*) {

             exit(0);

    }/////////////////////////////////////////////////

     

  • 相关阅读:
    Javascript设计模式理论与实战:单例模式
    详解CSS盒模型
    linux添加计划任务
    python删除目录下七天前创建的文件
    centos上源码安装clang 3.8
    使用postman发送数据并构建collections执行测试
    python多线程实现同时执行两个while循环
    使用Python写Windows Service服务程序
    用Pyinstaller打包发布exe应用
    使用Jmeter监测服务器cpu、内存等性能
  • 原文地址:https://www.cnblogs.com/jiahu-Blog/p/3524650.html
Copyright © 2011-2022 走看看