предварительно скомпилированная статическая библиотека / MT и / MTd ошибка - PullRequest
1 голос
/ 29 апреля 2019

Ошибка: LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library

Я пытаюсь зависеть от libsodium: https://download.libsodium.org/libsodium/releases/libsodium-1.0.17-stable-msvc.zip

Используя следующую конфигурацию Bazel:

# WORKSPACE
new_local_repository(
    name = "org_libsodium_sodium",
    build_file = "third_party/sodium.BUILD",
    path = "third_party/sodium",
)
# sodium.BUILD
config_setting(
    name = "windows_dbg_build",
    constraint_values = ["@bazel_tools//platforms:windows"],
    values = {"compilation_mode": "dbg"},
)

config_setting(
    name = "windows_fastbuild_build",
    constraint_values = ["@bazel_tools//platforms:windows"],
    values = {"compilation_mode": "fastbuild"},
)

config_setting(
    name = "windows_opt_build",
    constraint_values = ["@bazel_tools//platforms:windows"],
    values = {"compilation_mode": "opt"},
)

cc_library(
    name = "sodium",
    srcs = select({
        ":windows_dbg_build": ["lib/dbg/libsodium.lib"],
        ":windows_fastbuild_build": ["lib/dbg/libsodium.lib"],
        ":windows_opt_build": ["lib/opt/libsodium.lib"],
        "//conditions:default": ["lib/opt/libsodium.a"],
    }),
    hdrs = glob(["sodium/**/*.h"]),
    defines = ["SODIUM_STATIC"],
    visibility = ["//visibility:public"],
)

IsПравильно ли использовать предварительно скомпилированные статические библиотеки /MT и /MTd Runtime Library для Windows?

Есть идеи, что я делаю неправильно?

С уважением, Райан

...