需要帮助在 Windows 10 上完成 fmt 的命令行安装

Posted

技术标签:

【中文标题】需要帮助在 Windows 10 上完成 fmt 的命令行安装【英文标题】:Need help completing command line installation of fmt on Windows 10需要帮助在 Windows 10 上完成 fmt 的命令行安装 【发布时间】:2020-12-16 19:45:02 【问题描述】:

我是一名 Linux 用户,正在尝试在 Windows 上设置开发环境。我已经克隆了 fmt 存储库并按照我在 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 文档页面没有任何用于 Windows 安装的内容。

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

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

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

【问题讨论】:

你在windows下用的是什么编译器? cmake --build . --config Release 对于 Visual Studio 社区(msvc 编译器)来说是不够的,因为您很可能需要同时构建 Debug 和 Release。还要注意这个包在vcpkg 但它似乎在寻找安装点,而不是构建目录。我怎样才能让它工作?我一直使用 MSVC 的 build 文件夹。大多数情况下,我不会构建安装目标。 @drescherjm 我正在使用 MSVC,我认为它是默认的。我确实构建了 Debug 和 Release 版本。至于 vcpkg,我更倾向于使用柯南,但我也在学习 C++ 如何与 Windows 一起工作,所以我认为在引入包管理器之前手动安装库会给我带来经验。关于使用 build 文件夹很有趣。你通常把它放在哪里?如上所示,我只是将我的用户名放在我的主目录中,但是我需要将我的用户名硬编码到我不希望这样做的 cmake 文件中。 我有一个完全独立的源树与构建树。所以x:\CMakeBased\somehiearchy\ProjectX 将是源然后 x:\x64.XX\VC142\ProjectX 将是我为第 3 方库构建 projectX 的地方,它的x:\CMakeBased\Lib\LibName 用于构建在x:\x64.XX\VC142\Lib\LibName 中的源@ XX 是一个增量数字,因为我同时有几个构建树和一个源树。 这能回答你的问题吗? How to use CMake to install 【参考方案1】:

你可以运行:

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

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

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

在 fmtlib 的情况下是:

C:/Program Files (x86)/FMT

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

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

【讨论】:

以上是关于需要帮助在 Windows 10 上完成 fmt 的命令行安装的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助让bash / batch在Windows 10上为R工作

如何在windows 2008上安装powershell

如何在Windows 10上安装YASM?

如何在windows 10电脑上创建loopback 0

go 命令在我的 windows 机器上运行缓慢,在我的 linux 上运行良好

帮助:如何在 ASP.NET 开发服务器上启用 Windows 身份验证?