2013-12-19 64 views
0

我試圖獲得一個COTS編譯器/鏈接器套件與CMake一起工作,並且大多數情況下一切正常。我遇到的問題是圖書管理員。CMake和圖書管理員操作

在編譯器定義了一個典型的呼叫 - $ {}郎文件.cmake是這樣的:

SET(CMAKE_C_CREATE_STATIC_LIBRARY 「-v -c」)

但館員具有不特定的方式被告知目標文件在哪裏,所以我想用二進制目錄來預先加載目標文件,以便給圖書管理員一個特定的地方來找到它們。然而,我不能拿出正確的語法來做到這一點。

有關如何做這件事的任何想法?

回答

0

經過編譯器/鏈接器套件的大量工作後,確定主要問題是編譯器沒有被告知直接放置對象的位置的能力 - 實質上它不支持典型的-o參數。

這導致編譯器將輸出文件命名爲任何想要的內容,而不會關注make實用程序傳遞給它的內容。

事實證明,主要的編譯器可執行文件實際上只是預處理器,代碼生成器和彙編器的包裝器,所以我最終只是重新編譯它並構建自己的包裝器,它確實支持-o參數。試圖讓CMake使用這種非標準方法來生成輸出結果是非常容易的。一旦編譯器開始支持-o參數,圖書管理員就可以毫無問題地工作。