首页 > 解决方案 > 需要帮助在 Windows 10 上完成 {fmt} 的命令行安装

问题描述

我是一名 Linux 用户,正在尝试在 Windows 上设置开发环境。我已经克隆了 fmt repo 并按照我在 Linux 上习惯的方式构建它:

C:\Users\me\Development> git clone https://github.com/fmtlib/fmt.git
C:\Users\me\Development> cd fmt
C:\Users\me\Development> mkdir build
C:\Users\me\Development> cd build
C:\Users\me\Development> cmake ..
C:\Users\me\Development> cmake --build . --config Release

现在我想安装它,以便可以将它包含在项目中。通常我会$ sudo make install,但我不确定在 Windows 上做什么,并且 fmt doc 页面没有任何用于 Windows 安装的内容。

当我使用 FLTK 执行相同的一组步骤时,我必须设置一个变量来帮助我找到东西:

# CMakeLists.txt
set(FLTK_DIR "Path/to/installation")
find_package(FLTK REQUIRED NO_MODULE)

但它似乎在寻找安装点,而不是构建目录。我怎样才能让它工作?

标签: c++windowsfmt

解决方案


你可以运行:

cmake --install . [--prefix <install-dir>]

前缀是可选的。在 Windows 上,默认的 CMAKE_INSTALL_PREFIX 设置为:

C:/Program Files (x86)/<project name>

在这种情况下 fmtlib 将是:

C:/Program Files (x86)/FMT

另一种选择是在 Windows 上使用 vcpkg,它将在本地以自己的 vcpkg 安装前缀安装 fmtlib。然后您可以通过以下方式使用它:

find_package(fmt REQUIRED)
add_executable(myapp main.cpp)
target_link_libraries(myapp PRIVATE fmt::fmt)

您只需将 vcpkg cmake 工具链文件传递给您的 cmake 调用:

cmake .. -DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake

推荐阅读