(1)文件目录
WORKSPACE
main
BUILD
print.h
print.cpp
demo.cpp
(2)文件内容
BUILD
cc_library(
name = "print_h",
hdrs = ["print.h"],
)
cc_binary(
name = "demo",
srcs = ["demo.cpp", "print.cpp"],
deps = ["print_h"],
)
print.h
#include
void print(void);
print.cpp
#include "print.h"
void print() {
printf("hello world\n");
}
demo.cpp
#include "print.h"
#include
int main(int argc, char* argv[]) {
print();
return 0;
}
(3)编译命令
bazel build //main:demo
(1)文件目录
WORKSPACE
main
BUILD
print.h
print.cpp
demo.cpp
(2)文件内容
BUILD
cc_library(
name="print",
srcs=["print.cpp"],
hdrs=["print.h"],
)
cc_binary(
name="demo",
srcs=["demo.cpp"],
deps=[":print"],
)
print.h
#include
void print(void);
print.cpp
#include "print.h"
void print() {
printf("hello world\n");
}
demo.cpp
#include "print.h"
#include
int main(int argc, char* argv[]) {
print();
return 0;
}
(3)编译命令
bazel build //main:demo
(1)文件目录
WORKSPACE
lib
BUILD
print.h
print.cpp
main
BUILD
demo.cpp
(2)文件内容
lib
BUILD
cc_library(
name = "print",
srcs = ["print.cpp"],
hdrs = ["print.h"],
visibility = ["//main:__pkg__"],
)
print.h
#include
void print(void);
print.cpp
#include "print.h"
void print() {
printf("hello world\n");
}
main
BUILD
cc_binary(
name="demo",
srcs=["demo.cpp"],
deps=["://lib:print"],
)
demo.cpp
#include "print.h"
#include
int main(int argc, char* argv[]) {
print();
return 0;
}
(3)编译命令
bazel build //main:demo
1)文件目录
WORKSPACE
lib
BUILD
print.h
print.cpp
(2)文件内容
lib
BUILD
cc_library(
name="print",
srcs=["print.h","print.cpp"],
linkstatic=True
)
print.h
#include
void print(void);
print.cpp
#include "print.h"
void print() {
printf("hello world\n");
}
(3)编译命令
bazel build //main:print
生成静态库 libprint.a
(1)文件目录
WORKSPACE
main
BUILD
print.h
libprint.a
demo.cpp
(2)文件内容
main
BUILD
cc_import(
name="print",
hdrs=["print.h"],
static_library="libprint.a",
)
cc_binary(
name="demo",
srcs=["demo.cpp"],
deps=[":print"]
)
print.h
#include
void print(void);
demo.cpp
#include "print.h"
#include
int main(int argc, char* argv[]) {
print();
return 0;
}
1)文件目录
WORKSPACE
lib
BUILD
print.h
print.cpp
(2)文件内容
lib
BUILD
cc_library(
name="libprint.so",
srcs=["print.h","print.cpp"],
linkshared=True
)
print.h
#include
void print(void);
print.cpp
#include "print.h"
void print() {
printf("hello world\n");
}
(3)编译命令
bazel build //main:libprint.so
生成动态库 libprint.so
(1)文件目录
WORKSPACE
main
BUILD
print.h
libprint.so
demo.cpp
(2)文件内容
main
BUILD
cc_import(
name="print",
hdrs=["print.h"],
shared_library="libprint.so"
)
cc_binary(
name="demo",
srcs=["demo.cpp"],
deps=[":print"]
)
print.h
#include
void print(void);
demo.cpp
#include "print.h"
#include
int main(int argc, char* argv[]) {
print();
return 0;
}
(3)编译命令
bazel build //main:demo