配置

编译依赖

请确保你的电脑上配置了 Rust (version > 1.45),CMake (version > 3.11),Git, C++11 编译工具链,并设置好了PATH,这样便可以方便地构建跨平台程序。我们还提供了特定平台上fltk的捆绑库形式,可以通过启用fltk-bundle这个feature来启用(这里会用到curl来下载库,tar来解包)。如果你安装了 ninja-build 构建工具,你可以使用 "use-ninja" feature来启用。它可能会加快构建速度。

  • Windows:

    • MSVC: Windows SDK
    • Gnu: 无依赖
  • MacOS: 无依赖

  • Linux: 需要安装 X11 and OpenGL 头文件。具有图形用户界面的Linux发行版上带有这些库。

    基于 Debian 的Linux发行版,运行:

    sudo apt-get install libx11-dev libxext-dev libxft-dev libxinerama-dev libxcursor-dev libxrender-dev libxfixes-dev libpango1.0-dev libgl1-mesa-dev libglu1-mesa-dev
    

    基于 RHEL的Linux发行版,运行:

    sudo yum groupinstall "X Software Development" && yum install pango-devel libXinerama-devel libstdc++-static
    

    基于 Arch 的Linux发行版,运行:

    sudo pacman -S libx11 libxext libxft libxinerama libxcursor libxrender libxfixes pango cairo libgl mesa --needed
    

    Alpine Linux:

    apk add pango-dev fontconfig-dev libxinerama-dev libxfixes-dev libxcursor-dev
    
  • Android: Android Studio,Android Sdk, Android Ndk。

运行时依赖

  • Windows: None
  • MacOS: None
  • Linux: 您需要 X11 库以及用于绘图的 pango 和 cairo(如果要启用启用-glwindow 功能,还需要 OpenGL):
apt-get install -qq --no-install-recommends libx11-6 libxinerama1 libxft2 libxext6 libxcursor1 libxrender1 libxfixes3 libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libpangoxft-1.0-0 libglib2.0-0 libfontconfig1 libglu1-mesa libgl1

注意,如果您安装了编译依赖项(上一个标题),它也会自动安装运行时依赖项。

另外请注意,大多数图形桌面环境已经安装了这些库。如果你想在 CI/docker 中测试已构建的软件包(该环境下没有图形用户界面),上述这个清单将很有用。

配置细节

这一部分将假设你没有安装Rust,分几个不同的环境进行讨论:

Windows (MSVC toolchain)

  • 访问rust语言官网的 开始
  • 按照 "Visual Studio C++ build tools "的链接,下载MSVC编译器和Windows sdk。
  • 使用安装器安装:

image

确保选中这些:

image

  • 你可以在其中查看有没有CMake安装选项,或者直接点这里下载 Cmake
  • 如果你还没有GIt,请点击下载 Git
  • 从 rust-lang.org 网站上,下载适合你的架构的正确的rustup安装程序。
  • 一切准备好后,就可以用cargo new创建一个Rust项目,在Cargo.toml中添加fltk依赖,然后开始编写你的应用程序。

Windows (gnu toolchain)

如果你没有msys2,点击这里安装 msys2

  • 你可以通过pacman软件包管理器安装Rust工具链,或者通过前面所说的rustup(推荐)。注意,使用pacman安装需要显示指定你要使用gnu工具链(否则会默认安装MSVC工具链)。 你应该依据你电脑的架构安装合适的工具链。例如,64位设备应该安装x86_64-pc-windows-gnu工具链。 如果你决定通过软件包管理器安装Rust,请确保你得到的是mingw的变体,并且有正确的MINGW_PACKAGE_PREFIX(对于64位机器,这个环境变量相当于mingw-w64-x86_64)。
  • 假设你通过pacman安装了东西,打开mingw shell(注意,这里不是msys2 shell,它可以在msys2安装目录下找到,或者通过source shell mingw64)并运行以下内容:
    pacman -S curl tar git $MINGW_PACKAGE_PREFIX-rust $MINGW_PACKAGE_PREFIX-gcc $MINGW_PACKAGE_PREFIX-cmake $MINGW_PACKAGE_PREFIX-make --needed
    
    如果你打算使用ninja,可以用$MINGW_PACKAGE_PREFIX-ninja替换$MINGW_PACKAGE_PREFIX-make
  • 一切准备好后,就可以用cargo new创建一个Rust项目,在Cargo.toml中添加fltk依赖,然后开始编写你的应用程序。

MacOS

  • 运行下列代码安装Xcode命令行工具(它带有C++编译器):

     xcode-select --install
    

    按照说明执行步骤。或者可以不用XCode,直接用Homebrew安装clang或gcc:

  • 可以点击这里下载CMake。 或者,也可以跟上面一样使用Homebrew:

    brew install cmake
    
  • 安装Rust Toolchain:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    按照默认设置进行即可。

  • 一切准备好后,就可以用cargo new创建一个Rust项目,在Cargo.toml中添加fltk依赖,然后开始编写你的应用程序。

Linux

  • 使用你的软件包管理器安装一个C++编译器,以及CMake,make,git。 以Debian/Ubuntu 为例:
    sudo apt-get install g++ cmake git make
    
  • 要使用FLTK的开发依赖项(dependencies-dev),你还可以使用软件包管理器。 对基于Debian的GUI发行版,运行下列代码:
    sudo apt-get install libx11-dev libxext-dev libxft-dev libxinerama-dev libxcursor-dev libxrender-dev libxfixes-dev libpango1.0-dev libgl1-mesa-dev libglu1-mesa-dev
    
    对于基于RHEL的GUI发行版,运行下列代码:
    sudo yum groupinstall "X Software Development" && yum install pango-devel libXinerama-devel
    
    对于基于Arch Linux的GUI发行版,运行下列代码:
    sudo pacman -S libx11 libxext libxft libxinerama libxcursor libxrender libxfixes pango cairo libgl mesa --needed
    
    对于Alpine linux:
    apk add pango-dev fontconfig-dev libxinerama-dev libxfixes-dev libxcursor-dev
    
  • 安装Rust Toolchain:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    一切按默认即可。
  • 一切准备好后,就可以用cargo new创建一个Rust项目,在Cargo.toml中添加fltk依赖,然后开始编写你的应用程序。