Win11 + Visual Studio 2022 + FLTK 1.4.3 + Gmsh 4.13.1 源码编译指南

发布于:2025-05-17 ⋅ 阅读:(130) ⋅ 点赞:(0)

一、编译环境准备

本文档详细记录了在 Windows 11 系统下,使用 Visual Studio 2022(版本 17)编译 FLTK 1.4.3 和 Gmsh 4.13.1 的完整过程。目标是帮助开发者顺利完成库的编译,并实现基本的功能测试。

二、编译 FLTK 1.4.3

2.1 创建构建目录

  1. 在 FLTK 源码根目录下新建一个名为 build 的文件夹
  2. 打开 CMake GUI 工具
  3. 配置源码目录为 FLTK 源码根目录,构建目录为刚刚创建的 build 文件夹

2.2 配置编译环境

  1. 点击 “Configure” 按钮
  2. 选择 Visual Studio 2022(版本 17)作为生成器,平台选择 x64
  3. 等待初始配置完成后(界面变红),再次点击 “Configure”
  4. 配置完成后点击 “Generate”,生成 Visual Studio 项目文件

2.3 编译与安装

  1. 打开生成的 FLTK.sln 解决方案文件(位于 build 目录下)
  2. 使用管理员权限运行 Visual Studio 2022
  3. 分别在 Debug X64Release X64 配置下进行编译
  4. 编译完成后找到 INSTALL 项目,右键选择 “重建”
  5. 头文件和库文件将被安装到 C:\Program Files\FLTK 目录

三、编译 Gmsh 4.13.1

3.1 初始配置

  1. 在 Gmsh 源码根目录下新建 build 文件夹
  2. 打开 CMake GUI,设置源码目录为 Gmsh 源码根目录,构建目录为 build
  3. 点击 “Configure”,选择 Visual Studio 2022(版本 17),平台 x64

3.2 解决配置错误

  1. 初始配置可能出现版本错误,需修改源码根目录下的 CMakeLists.txt
  2. 将以下语句:
    cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
    
    修改为:
    cmake_minimum_required(VERSION 3.5)
    
  3. 保存修改后再次点击 “Configure”

3.3 指定 FLTK 依赖路径

  1. 在 CMake GUI 中点击 “Add Entry”
  2. 添加如下条目,指定 FLTK 的安装路径(即之前安装 FLTK 的目录):
    • 名称:CMAKE_PREFIX_PATH
    • 值:C:/Program Files/FLTK
    • 类型:PATH

  1. 添加完成后再次点击 “Configure”,确保无错误

3.4 配置链接库选项

  1. 在 CMake GUI 的搜索栏输入 “enable”,查找链接库配置选项
  2. 确保只勾选以下必要选项:

  1. 点击 “Configure” 确认配置

3.5 编译生成项目

  1. 配置完成后点击 “Generate”,生成 Visual Studio 项目文件
  2. 打开生成的解决方案文件
  3. 分别在 Debug X64Release X64 配置下进行编译
  4. 编译成功后将生成相应的库文件

四、测试编译结果

4.1 创建测试项目

  1. 新建一个空白的 Visual Studio C++ 工程
  2. 配置项目属性:
    • C/C++ -> 常规 -> 附加包含目录:
      D:\gmsh-4.13.1-source\gmsh-4.13.1-source\api
      

  • 链接器 -> 常规 -> 附加库目录:
    • Debug 配置:
      D:\gmsh-4.13.1-source\build\Debug
      

 - Release 配置:
   ```
   D:\gmsh-4.13.1-source\build\Release
   ```

  • 链接器 -> 输入 -> 附加依赖项:
    gmsh.lib
    

4.2 编写测试代码

在项目中新建 main.cpp 文件,输入以下代码:

#include <gmsh.h>
 
int main(int argc, char** argv)
{
    // 初始化 gmsh 库
    gmsh::initialize();
 
    // 创建一个新的 gmsh 模型
    gmsh::model::add("example");
 
    // 创建一个正方形的边界
    double lc = 1.0; // 网格的特征长度
    gmsh::model::geo::addPoint(0, 0, 0, lc, 1);
    gmsh::model::geo::addPoint(1, 0, 0, lc, 2);
    gmsh::model::geo::addPoint(1, 1, 0, lc, 3);
    gmsh::model::geo::addPoint(0, 1, 0, lc, 4);
    gmsh::model::geo::addLine(1, 2, 1);
    gmsh::model::geo::addLine(2, 3, 2);
    gmsh::model::geo::addLine(3, 4, 3);
    gmsh::model::geo::addLine(4, 1, 4);
    gmsh::model::geo::addCurveLoop({ 1, 2, 3, 4 }, 1);
    gmsh::model::geo::addPlaneSurface({ 1 }, 1);
 
    // 生成网格
    gmsh::model::mesh::generate(2);
 
    // 将模型写入文件
    gmsh::write("example.msh");
 
    // 退出 gmsh 库
    gmsh::finalize();
 
    return 0;
}

4.3 运行测试

  1. 编译并运行测试项目
  2. 成功运行后将打印以下信息:
    Info    : Meshing 1D...
    Info    : Done meshing 1D (Wall 8e-06s, CPU 0s)
    Info    : Meshing 2D...
    Info    : Done meshing 2D (Wall 0.0001474s, CPU 0s)
    Info    : 0 nodes 0 elements
    Info    : Writing 'example.msh'...
    Info    : Done writing 'example.msh'
    

4.4 注意事项

如果程序提示找不到 gmsh.dll 文件,请将该文件拷贝到可执行文件(.exe)所在的目录下。文件位置通常在:

D:\gmsh-4.13.1-source\build\Debug\gmsh.dll

D:\gmsh-4.13.1-source\build\Release\gmsh.dll

五、总结

通过上述步骤,您已成功在 Windows 11 系统下使用 Visual Studio 2022 编译了 FLTK 1.4.3 和 Gmsh 4.13.1,并完成了基本功能测试。此环境配置可用于进一步开发基于 Gmsh 的网格生成和计算应用。


网站公告

今日签到

点亮在社区的每一天
去签到