【问题标题】:getting vcpkg to build only release version让 vcpkg 仅构建发布版本
【发布时间】:2018-09-30 14:47:55
【问题描述】:

我正在尝试仅构建软件包的发布版本,因为创建调试版本需要太长时间/太多空间。 Vcpkg 文档指出:

在三元组中添加 set(VCPKG_BUILD_TYPE 版本):将导致大多数 仅用于构建版本的端口

当我运行 set(VCPKG_BUILD_TYPE release) 时在终端中我得到了

syntax error near unexpected token 'VCPKG_BUILD_TYPE'

我该如何解决这个问题?

【问题讨论】:

    标签: cmake vcpkg


    【解决方案1】:

    您可能需要在您的三元组文件中设置它。复制并重命名这些默认三元组文件之一,例如“x64-windows.cmake”到“x64-windows-rel.cmake”。然后添加一行:

     
    set(VCPKG_TARGET_ARCHITECTURE x64)
    set(VCPKG_CRT_LINKAGE dynamic)
    set(VCPKG_LIBRARY_LINKAGE dynamic)
    set(VCPKG_BUILD_TYPE release)
    

    我认为这将适用于某些库,但不是全部,因为它需要库自己的构建文件 (CMakeLists.txt) 来处理它。

    【讨论】:

    • 是否也可以在运行vcpkg.exe之前在命令提示符下设置? set VCPKG_BUILD_TYPE=release?
    • 我不这么认为。在 vcpkg 中快速搜索似乎表明它没有检查环境变量中的 VCPKG_BUILD_TYPE。
    • 看起来 VCPKG_BUILD_TYPE 没有得到很好的支持。例如,如果您设置 OpenCV 的构建将失败,因为部分构建脚本期望发布和调试都在构建。
    • 如果我想让系统自己检测三元组,并且只设置 VCPKG_BUILD_TYPE 怎么办?
    猜你喜欢
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 2012-09-27
    相关资源
    最近更新 更多