windows环境下使用CLion+MinGW配置fltk开发环境

操作系统:windows 10
CLion版本:2023.3.1
使用CLion Bundled MinGW Version:11.0 w64
CMake version:3.27.0
G++ version:13.1.0

1 编译fltk静态库

这里使用的fltk版本为1.4.0。
下载到fltk源码后,通过命令行打开fltk源码目录,或者使用CLionfltk源码目录打开为工程,然后进入到终端中。
在终端命令行中新建build/目录并进入到build/目录下:

mkdir build/ && cd build/

使用cmake构建,如果不指定生成器会使用电脑中的默认生成器,根据需要选择自己使用的生成器,因为后面要使用CLion基于MinGW开发,所以指定生成器为MinGW

cmake -G "MinGW Makefiles" ../

构建完成后执行直接执行make

make

等待编译完成,在build/lib/目录下会有编译好的libfltk.a文件。

2 运行fltk第一个例子

在磁盘上另外新建一个文件夹project/作为例子工程目录,在project/中新建src/include/FLlib/

将上一步编译好的libfltk.a文件拷贝到lib/中,将上一步fltk源码目录中的FL/目录下的所有.h文件拷贝到project/include/FL目录中,再将build/FL目录下fl_config.h拷贝到project/include/FL目录下。

src/目录下新建main.cpp文件,编辑以下代码:

#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();
}

src/目录下创建CMakeLists.txt文件,编辑以下代码:

cmake_minimum_required(VERSION 3.27)
project(fltk_dist LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)

include_directories(../include)

link_directories(../lib)

file(GLOB SRC
        src/*.h
        src/*.cpp
)


add_executable(
        ${PROJECT_NAME}
        main.cpp
)

target_link_libraries(
        ${PROJECT_NAME}
        fltk
        ws2_32
        User32
        comctl32
        GdiPlus
)

点击CLion中的运行,出现hello world窗口。

3 可能会出现的问题

在点击运行后,构建信息出现undefined reference XXX的错误信息,一般是链接静态库是找不到对应的静态库,所有一下报错信息找到对应的静态库,然后加在CMakelists.txt中的target_link_libraries中。

开始使用的是环境中g++编译的fltk静态库,在后面使用CLion自带的g++构建程序,由于两个g++版本不一致,导致在构建应用时也会报undefined reference XXX的错误,后来用CLion自带的g++重新编译静态库问题解决。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值