1
在我build.rs文件,我把以下內容:如何在使用gcc時添加我自己的編譯器標誌:Config?
extern crate gcc;
fn main() {
gcc::Config::new().file("src/test.c").compile("libtest.a");
}
,而且運作良好。我想添加一對夫婦標誌,比如鏈接到我自己的庫「-lmylib」,也許是「-fPIC」。
在我build.rs文件,我把以下內容:如何在使用gcc時添加我自己的編譯器標誌:Config?
extern crate gcc;
fn main() {
gcc::Config::new().file("src/test.c").compile("libtest.a");
}
,而且運作良好。我想添加一對夫婦標誌,比如鏈接到我自己的庫「-lmylib」,也許是「-fPIC」。
它看起來像gcc::Config
有任意GCC標誌稱爲flag功能:
extern crate gcc;
fn main() {
gcc::Config::new()
.file("src/test.c")
.flag("-lmylib")
.flag("-fPIC")
.compile("libtest.a");
}
謝謝。我其實之前嘗試過,看起來並不奏效。 –
請避免這樣做,如果*在所有可能的*。有一種PIC的方法,你應該可以要求貨物鏈接庫。請記住''gcc'箱子不僅僅適用於GCC:它還運行'clang'和Microsoft編譯器,具體取決於安裝的是什麼(是的,箱子命名錯誤)。碰到一個不能在你的系統上運行的箱子,真是讓人氣憤不止,因爲一些特定於平臺的細節。如果你真的需要這個,那麼確定,但首先要確保這一點,並儘可能提供後備。 *請。* –
您是否試圖將庫鏈接到'libtest.a'或您的防鏽庫? –
我只是想鏈接到外部C庫。我真的寧願不編譯它,但它在我編譯它時起作用(如果我不需要標誌)。我不能讓它鏈接,否則。我想我會專注於將它連接起來而不編譯,因爲無論如何我更喜歡。謝謝。 –