![](/img/trans.png)
[英]Bazel: submodule in project does not use bazel , pushing to git doesnt include locally added BUILD file in submodule, how do i build?
[英]How do I build this simple example with Bazel?
假設我有一個這樣的項目:
$ tree .
├── WORKSPACE
├── include
│ └── header.hpp
└── main.cpp
└── BUILD.bazel
main.cpp
看起來像這樣:
#include "header.hpp"
int main() {
return 0;
}
我的BUILD.bazel
文件應該是什么樣的?
我目前的嘗試:
cc_binary(
name = "app",
srcs = [
"main.cpp",
"include/header.hpp",
],
)
編輯:忘記提及我的WORKSPACE
文件
編輯:找到了一個解決方法,但我認為它不是很優雅:
cc_library(
name = "app-hdrs",
hdrs = [
"include/header.hpp",
],
srcs = [
"include/header.hpp",
],
strip_include_prefix = "include",
)
cc_binary(
name = "app",
srcs = [
"main.cpp",
],
deps = [
":app-hdrs",
],
)
您的項目文件夾中需要一個名為WORKSPACE
的文件:
$ tree .
├── include
│ └── header.hpp
└── main.cpp
└── BUILD.bazel
└── WORKSPACE
然后您可以使用以下命令構建您的應用程序:
bazel build //:app
並在copts
-flag 中指定包含路徑:
cc_binary(
name = "app",
srcs = [
"main.cpp",
"include/header.hpp",
],
copts = ["-Iinclude", "-Wall", "-Werror"],
)
cc_binary(
name = "app",
includes = [ "include" ],
srcs = [
"main.cpp",
"include/header.hpp",
],
copts = [ "-Wall", "-Werror" ],
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.