2016-11-08 52 views
0

我認爲這裏有一些小背景信息。我目前正在爲我的學校開設一個項目,在那裏我們正在爲將來的學生建立跨平臺的圖書館。我們已經授權我們使用目標平臺上最流行的IDE /編譯器。這意味着我們正在使用Visual Studio 2015和Windows的Visual C++編譯器,使用gcc for Linux(Ubuntu)的Code :: Blocks和Mac的Clang的XCode。更改基於x86/x64的編譯輸出和調試/發佈Code :: Blocks/Xcode

我們目前正在爲我們的圖書館開發甜蜜的測試過程,但遇到了一些困難。測試甜蜜將需要知道在哪裏可以找到所有配置的庫(x86調試,x86發行版,x64調試版,x64發行版)。

Visual Studio使這很簡單,因爲我可以爲所有這些不同的構建選擇輸出目錄。

另一方面,Code :: Blocks爲我提供了僅用於輸出目錄的Release和Debug構建選項。

XCode是另一個問題。它給了我一個選擇放置輸出位置的選項。它不關心它是調試/發行版還是x86/x64。它只是說一個文件夾的名字,我會把一切都放在那裏。

有沒有辦法在Code :: Blocks和XCode中展開這些選項?我已經研究過構建腳本來爲我移動這些庫,但無法弄清楚如何在腳本中告訴庫是否構建配置。我被告知庫必須保持相同的名稱,因此每個構建配置對它們進行重命名不是一種選擇。

回答

0

我無法幫助XCode,但我知道在代碼塊中,您可以添加儘可能多的構建配置。它們被稱爲構建目標,但它們與gcc或visual studio make文件中的目標不完全相同。

要添加額外的目標,請從菜單中選擇「項目 - >屬性...」,然後選擇「構建目標」選項卡。然後,您可以將32個或64位版本的項目添加2個新目標。您可能還想重命名現有目標以反映其構建配置。

在構建目標選項卡的最底部,有一組名爲「構建目標文件」的複選框。至少在我使用的代碼塊版本中,當你添加一個新的目標時,所有的複選框都是空的。如果您遇到這種情況,您需要檢查檢查構建配置所需的文件。

最後一步是爲新的構建配置設置編譯器選項,鏈接器選項,包含文件夾和lib文件夾。單擊構建選項按鈕,然後添加任何其他編譯器以及適用於該構建配置的設置和文件夾。

這裏有一點要注意。 Codeblocks允許您在項目和目標級別設置編譯器和鏈接器選項。默認情況下,在項目級別進行的任何設置均適用於所有目標。

例如,對於一個簡單的程序,-Wall選項可能設置爲項目級別,-g可能設置爲調試配置,-O2可能設置爲發佈配置。最終結果是,當您嘗試構建調試目標時,用於編譯器的選項是「-Wall -g」,對於發佈目標,它們是「-Wall -O2」。類似的註釋適用於鏈接器選項和文件夾。

在您的項目中,如果在項目級別設置了僅適用於32位或64位目標的任何現有選項,則需要將這些設置從項目級別移至各個目標。

+0

這實際上回答了我對兩個平臺的問題(我相信)。我認爲XCode與構建目標類似。謝啦。我從來沒有想到這一點。我知道它存在,但自從我使用Code :: Blocks完成我已經完全忘記的任何事情以來,這已經很長時間了。 – JParks