Как использовать 'alwayslink' в 'cc_library', которая ссылается на разделяемую библиотеку? - PullRequest
0 голосов
/ 10 июля 2019

Я использовал флаг '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
...