From 12d52bceb9fa52b2f0f3cfcb1270445941529f4a Mon Sep 17 00:00:00 2001 From: Daniel Lovell Date: Thu, 27 Feb 2025 00:31:58 -0800 Subject: [PATCH 1/2] Fix Windows dll symbol export for Unity use Implement separate dll export mechanism for Windows using a DEF file Cant use windows_export_all_symbols because symbol limit reached in Assignment --- BUILD.bazel | 12 ++++++++++++ assignment/BUILD.bazel | 2 ++ assignment/assignment.def | 4 ++++ 3 files changed, 18 insertions(+) create mode 100644 assignment/assignment.def diff --git a/BUILD.bazel b/BUILD.bazel index 0816433..7362e8d 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -5,11 +5,23 @@ package(default_visibility = ["//visibility:public"]) cc_shared_library( name = "assignment", deps = ["//assignment:assignment_plugin"], + additional_linker_inputs = select({ + "@platforms//os:windows": ["//assignment:assignment.def"], + "//conditions:default": [], + }), + win_def_file = select({ + "@platforms//os:windows": "//assignment:assignment.def", + "//conditions:default": None, + }), ) cc_shared_library( name = "example", deps = ["//example:example_plugin"], + features = select({ + "@platforms//os:windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }), ) pkg_tar( diff --git a/assignment/BUILD.bazel b/assignment/BUILD.bazel index 2afd40a..6d33512 100644 --- a/assignment/BUILD.bazel +++ b/assignment/BUILD.bazel @@ -1,5 +1,7 @@ package(default_visibility = ["//visibility:public"]) +exports_files(["assignment.def"]) + cc_library( name = "assignment", srcs = ["assignment.cc"], diff --git a/assignment/assignment.def b/assignment/assignment.def new file mode 100644 index 0000000..0509843 --- /dev/null +++ b/assignment/assignment.def @@ -0,0 +1,4 @@ +EXPORTS + Assignment_CoverAssignment_Assign + Assignment_EvenAssignment_Assign + Assignment_WeightedEvenAssignment_Assign \ No newline at end of file From d6c1edaaf889a36904d00de54e3dc0eade50f2cd Mon Sep 17 00:00:00 2001 From: Titan Yuan Date: Thu, 27 Feb 2025 05:48:06 -0800 Subject: [PATCH 2/2] Add newline --- assignment/assignment.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment/assignment.def b/assignment/assignment.def index 0509843..7b860a9 100644 --- a/assignment/assignment.def +++ b/assignment/assignment.def @@ -1,4 +1,4 @@ EXPORTS Assignment_CoverAssignment_Assign Assignment_EvenAssignment_Assign - Assignment_WeightedEvenAssignment_Assign \ No newline at end of file + Assignment_WeightedEvenAssignment_Assign