使用 conan 构建 libjpeg-turbo 在 windows 上失败

Building libjpeg-turbo with conan fails on windows

我正尝试在 Windows:

上使用 conan 构建 libjpeg-turbo
conan install libjpeg-turbo/1.5.2@bincrafters/stable

但它失败了:

libjpeg-turbo/1.5.2@bincrafters/stable: Not found in local cache, looking in remotes...
libjpeg-turbo/1.5.2@bincrafters/stable: Trying with 'conan-center'...
Downloading conanmanifest.txt
Downloading conanfile.py
Downloading conan_export.tgz
....
ERROR: libjpeg-turbo/1.5.2@bincrafters/stable: Error in configure() method, line 43
    if self.settings.os == "Emscripten":
    ConanException: Invalid setting 'Emscripten' is not a valid 'settings.os' value.
Possible values are ['Android', 'Arduino', 'FreeBSD', 'Linux', 'Macos', 'SunOS', 'Windows', 'WindowsStore', 'iOS', 'tvOS', 'watchOS']
Read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-invalid-setting"

Linux 上的相同命令工作正常。 在这两个系统上我都有版本 1.21.0

中的柯南

我找不到关于此错误的任何线索。

编辑

这里是 libjpeg-turbo 在版本 2.0.2 安装中的完整输出:

>conan install -r conan-center libjpeg-turbo/2.0.2@
Configuration:
[settings]
arch=x86
arch_build=x86
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=15
os=Windows
os_build=Windows
[options]
[build_requires]
[env]

ERROR: libjpeg-turbo/2.0.2: Error in configure() method, line 49
        if self.settings.os == "Emscripten":
        ConanException: Invalid setting 'Emscripten' is not a valid 'settings.os
' value.
Possible values are ['Android', 'Arduino', 'FreeBSD', 'Linux', 'Macos', 'SunOS',
 'Windows', 'WindowsStore', 'iOS', 'tvOS', 'watchOS']
Read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-invalid-sett
ing"

Conan 包 libjpeg-turbo/1.5.2@bincrafters/stable 已过时,已被 libjpeg-turbo/2.0.2@ 取代。您也可以从柯南中心获取该包:

conan install -r conan-center libjpeg-turbo/2.0.2@

现在关于你的错误:

ConanException: Invalid setting 'Emscripten' is not a valid 'settings.os' value.

如您所见,您当前的 settings.os 配置为 Emscripten,该配方不支持。正如 FAQ link 所指出的,您应该自定义您当前的设置,因此您可以尝试:

conan install -r conan-center libjpeg-turbo/2.0.2@ -s os=Windows

因此,您应该:

  • 将您当前的软件包更新为 libjpeg-turbo/2.0.2@(它需要 Conan >=1.18)
  • 将您当前的个人资料更新为 Windows:

    conan profile update settings.os=Windows default
    

如果您确实需要 Emscripten,请向 Conan Center Index 提出问题以请求此类功能。

此致!