問題
我如何將一個c 庫作為源代碼與libcurl的源代碼一起發布,并讓該庫的消費者根據需要處理構建它?背景
我有一個C 庫,我把它作為原始碼發布,讓客戶在他們的代碼中處理構建它。該 repo 也包括一個依賴的源代碼,即 tinyxml,它與庫本身一起構建,因此對客戶來說是完全透明的。
到目前為止,它一直運行良好,但是對于更復雜的依賴關系,例如libcurl,顯然不能很好地擴展。
我曾考慮過作為捆綁libcurl原始碼的替代方案
有預編譯的libcurl庫。但我不知道消費者會使用哪些平臺/標志uj5u.com熱心網友回復:
你沒有提到你使用的是哪個構建系統。
如果你使用的是cmake,你可以利用ExternalProject_Add來下載/構建/安裝依賴庫。
請看例子。 https://cmake.org/cmake/help/git-stage/module/ExternalProject.html#examples
uj5u.com熱心網友回復:
如果我理解正確的話,你需要任何獲得你的庫的源代碼的客戶也能獲得相應的libcurl和tinyxml庫的源代碼。
我個人會使用cmake來實作這一目的,正如@brokenfoot已經建議的那樣。但在你的情況下,用ExternalProject_Add來代替FetchContent就足夠了,而且不那么復雜。https://cmake.org/cmake/help/latest/module/FetchContent.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/331026.html
標籤:
下一篇:沒有找到模塊。無法解決'@emotion/react'在'E:frontend ode_modules@muistyled-engine'中的'@em
