Я использовал флаг 'Alwayslink' в 'cc_library', которая ссылается на разделяемую библиотеку PCL, чтобы в опциях связывания она была обернута вокруг '-Wl, -whole-archive' & '-Wl, -no-whole-archive'.Но когда я проверяю annotation_ui_tool-2.params, я не вижу, что происходит.Часть файла WORKSPACE и содержимое файла annotation_ui_tool-2.params приведены ниже.
WORKSPACE:
new_local_repository (
name = "pcl_lib_repo",
path = "/usr/local/include/pcl-1.9",
build_file_content = """
package(default_visibility = ["//visibility:public"])
cc_library(
name = "pcl_lib",
defines = ["DISABLE_PCAP", "DISABLE_PNG", "DISABLE_LIBUSB_1_0", "DISABLE_QHULL"],
includes = ["."],
hdrs = glob([ "pcl/**/*.h", "pcl/**/*.hpp"]),
alwayslink = True,
linkopts = [
"-L/usr/local/lib",
"-lpcl_common",
"-lpcl_io",
"-lpcl_kdtree",
"-lpcl_search",
"-lpcl_visualization",
],
visibility = ["//visibility:public"],
)
""",
)
annotation_ui_tool-2.params:
-o
bazel-out/k8-dbg/bin/annotation_ui_tool
-fuse-ld=gold
-Wl,-no-as-needed
-Wl,-z,relro,-z,now
-B/usr/bin
-pass-exit-codes
-lstdc++
-lm
-Wl,-whole-archive
bazel-out/k8-dbg/bin/_objs/annotation_ui_tool/pcd_viewer.pic.o
-Wl,-no-whole-archive
-Wl,-whole-archive
external/doxlib_libs/libdoxlib-d.a
-Wl,-no-whole-archive
-shared
-L/usr/local/lib
-lpcl_common
-lpcl_io
-lpcl_kdtree
-lpcl_search
-lpcl_visualization