簡體   English   中英

Bazel:針對 DLL 的動態鏈接

[英]Bazel: dynamic linking against DLL

這應該很簡單,但不幸的是它讓我頭疼了好幾個小時。 我有一個包含多個 DLL 文件的第三方庫。 我希望將這些包含在最終的 bazel bin 中,以便我可以運行我的項目。

手動復制它們是可行的,但顯然這並不理想。

Bazel 有使用 CC_import 規則的文檔,這似乎是我想要的,除了我需要使用 linkstatic=0

使用它它會嘗試將我所有的包動態地構建到共享對象文件中。 這也不是我真正想要的,尤其是因為 MinGw 似乎無法與這些鏈接。

我沒有我可以嘗試的東西,所以任何幫助都將不勝感激。 謝謝 :)

希望將來我可以為有此問題的人節省時間,因為我終於弄清楚了我的問題所在。 我認為這是 bazel 的問題,所以我在他們的github 頁面上提出了一個問題。

我試圖使用 cc_import 規則,但沒有指定 interface_library。 這讓我遇到了各種試圖靜態包含 DLL 的問題。 interface_library 是必需的。

我的下一個問題是我不能為接口庫指定一個.a文件,我相信 GCC 用它來鏈接 DLL。 bazel 不支持這種類型。 我為此提出了一個問題(如上所述)。

我目前的解決方法是將 DLL 手動復制到 bazel-bin 文件夾中。 如果我為 interface_library 使用受支持的文件類型,一切都會完美運行。

希望這可以節省將來的時間:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM