【问题标题】:bazel WORKSPACE file for external repository leads to missing #includes外部存储库的 bazel WORKSPACE 文件导致缺少#includes
【发布时间】:2018-11-24 02:54:26
【问题描述】:

我正在尝试为使用 googletest 的项目设置工作区文件。我按照这里的说明进行操作:https://docs.bazel.build/versions/master/cpp-use-cases.html#including-external-libraries

我有一个如下所示的 WORKSPACE 文件:

new_http_archive(
    name = "gtest",
    url = "https://github.com/google/googletest/archive/release-1.7.0.zip",
    sha256 = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0",
    build_file = "gtest.BUILD",
    strip_prefix = "googletest-release-1.7.0",
)

我有一个如下所示的 BUILD 文件:

COPTS = [
    "-I/usr/local/include",
    "-Iexternal/gtest/include",
    "-Wno-sign-compare",
]

cc_test(
    name = "gaussian_test",
    srcs = ["gaussian_test.cc"],
    copts = COPTS,
    deps = [
        "//:boom",
        "//:boom_test_utils",
        "@gtest//:main",
        ],
)

我的 gaussian_test.cc 文件的#include 部分包含以下行:

#include "gtest/gtest.h"

当我尝试运行测试时,我得到了

Models/tests/gaussian_test.cc:1:10: fatal error: gtest/gtest.h: No such file or directory
 #include "gtest/gtest.h"

在我的主存储库中,我通过在 /usr/local 中手动安装 googletest 来解决此问题,但我正在寻找一种更便携的解决方案,并且还希望消除我似乎对 WORKSPACE 文件的基本误解应该可以运行。谢谢。

【问题讨论】:

    标签: c++ build googletest bazel


    【解决方案1】:

    我的问题中缺少的部分是 gtest-BUILD 文件,其中包含缺少的路径信息。

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多