有一個LIBS環境變數mpicxx。但手冊頁只說
呼叫聯結器時添加的庫
我想知道這個變數的詳細語法,例如,我們應該-L在目錄前加前綴,我們應該只寫目錄名還是lib檔案名,我們應該用空格或逗號或其他東西分隔多個庫,等等?我試圖用谷歌搜索語法,但找不到有關它的資訊。所以我在這里問。謝謝你的幫助。
uj5u.com熱心網友回復:
我想知道這個變數的詳細語法
LIBSMPI 編譯器包裝器識別的變數不是特定于這些程式的,并且它沒有自己的語法。該變數只是擴展(未加引號)以形成鏈接命令列的一部分,位于適合指定要包含在鏈接中的庫的引數之間的位置。一般語法是shell命令語法的一個子集,內容的具體意義由聯結器控制。
請注意,就其重要性而言,“聯結器”可能不是ld直接的,而是(對于mpicxx)C 編譯器前端,例如g . 您指定庫和庫搜索路徑條目的形式與將程式與非 MPI C 編譯器鏈接時的形式相同。
我們應該在目錄前添加 -L 前綴嗎
如果您想將目錄添加到庫搜索路徑,那么是的,您將使用-L選項。
我們應該寫 [...] lib 檔案名嗎?
最傳統的是使用-l選項,因此要鏈接libfoo.so,您將使用-lfoo. 或者,您還應該能夠指定庫檔案的相對或絕對路徑(不帶-l),在這種情況下,搜索路徑無關緊要。通過特定路徑指定庫通常僅用于作為同一專案的一部分構建的庫。
我們應該用空格或逗號或其他東西分隔多個庫嗎
您正在指定擴展為 shell 命令一部分的選項和引數。多個引數必須用空格分隔。
等等。
正如已經描述的那樣,所有細節都來自變數的使用方式。某些可用功能(但通常不是上述任何內容)可能因系統而異,具體取決于底層聯結器識別的選項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/348806.html
下一篇:基本的python計算器
