【问题标题】:vcpkg: recalling the CMake instructions shown after installing a package?vcpkg:回想起安装软件包后显示的 CMake 说明?
【发布时间】:2019-11-22 00:12:10
【问题描述】:

使用 vcpkg 安装软件包后,会显示帮助文本,例如...

The package fmt:x64-windows provides CMake targets:

    find_package(fmt CONFIG REQUIRED)
    target_link_libraries(main PRIVATE fmt::fmt fmt::fmt-header-only)

... 了解在 CMake 中使用它们所需的各种说明。如果您想在将来回忆它并且没有写下来,您从哪里获得这些信息?一些库的指令比上述更多。

【问题讨论】:

    标签: c++ cmake vcpkg


    【解决方案1】:

    您可以在名为“usage”的文件中找到帮助文本。

    您可以在ports 目录中找到它们,或者如果您只对您的包感兴趣,那么它们在installed 中。您可以使用以下命令搜索它们:

    # VCPKG_ROOT denotes where is vcpkg installed
    $ find $VCPKG_ROOT . -name usage
    installed/x64-linux/share/openssl/usage
    installed/x64-linux/share/gtest/usage
    

    但是,包括fmt 在内的某些软件包并未在特定文件中提供此信息,它们仅提供目标。它们存储在$VCPKG_ROOT/installed/<YOUR_ARCHITECTURE>/share/fmt/fmt-targets.cmake

    vcpkg 会在安装后打印目标列表。我不知道是否存在比找到<package>-targets.cmake 文件并检查内容更好的解决方案。

    $ find $VCPKG_ROOT/installed -name *-targets.cmake 
    installed/x64-linux/share/cxxopts/cxxopts-targets.cmake
    installed/x64-linux/share/fmt/fmt-targets.cmake
    

    所以如果你结合这两种技术,你应该可以在安装后找到vcpkg正在打印的所有信息。

    【讨论】:

    • 不幸的是,我的安装包文件夹(Windows)中没有使用文件和目标文件。
    【解决方案2】:

    只需再次运行命令 vcpkg install

     .\vcpkg.exe install fmt
    Computing installation plan...
    The following packages are already installed:
        fmt[core]:x64-windows -> 8.0.1
    Package fmt:x64-windows is already installed
    Restored 0 packages from **\AppData\Local\vcpkg\archives in 155.9 us. Use --debug to see more details.
    
    Total elapsed time: 58.04 ms
    
    The package fmt provides CMake targets:
    
        find_package(fmt CONFIG REQUIRED)
        target_link_libraries(main PRIVATE fmt::fmt)
    
        # Or use the header-only version
        find_package(fmt CONFIG REQUIRED)
        target_link_libraries(main PRIVATE fmt::fmt-header-only)
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多