2016-01-27 82 views
0

我想重新學習C++,我正在與Windows CD上的Eclipse CDT與MinGW,我想包括一個外部庫而不修改MinGW安裝。目前,我正在與SDL2合作,但這是一個更普遍的問題。外部庫包含 - Eclipse的CDT和MinGW

我已經成功地編譯和使用以下步驟來運行我的測試程序:

  1. 下載SDL2-devel-2.0.4.mingw.tar.gzhere)和
  2. SDL2-2.0.4\複製文件解壓到我MinGW安裝:
    • \ include \ SDL2 to%MinGW%\ include \
    • \ lib \ libSDL2.a到%MinGW%\ lib \
    • \ lib中\ libSDL2.dll.a到%的MinGW%\ lib中\
    • \ lib中\ libSDL2.la到%的MinGW%\ lib中\
    • \ lib中\ libSDL2main.a到%的MinGW%\ lib中\
    • \ BIN \ SDL2.dll到%的MinGW%\ bin中\
  3. 添加庫(按順序),以經由工程 - 接頭>屬性:C/C++建設 - >設置:( 「工具設置」 標籤)MinGW的C++鏈接器>庫: 「庫(-1)」 部分
    • SDL2main
    • SD L2
  4. #include <SDL2\SDL.h>在我的CPP/h的文件
  5. 編譯程序
  6. 複製SDL2.dll與我的.exe
  7. 運行

在這個特殊的機器輸出目錄,我m使用SDL2-2.0.4的i686-w64-mingw32版本,但我想直接指向鏈接器,而不需要複製到上面第2步中的MinGW安裝。然後,我可以簡單地將這些文件包含在我的回購庫中,而不需要正確修改MinGW安裝,或者將指針更改爲在不同機器上構建的x86_64-w64-mingw32等。

稍微不同的註釋單獨的問題),是否有自動化步驟6的方法?我似乎無法找到它,並手動複製每個乾淨的構建dll是相當惱人的...

回答

1

你幾乎在那裏,只需將包括目錄添加到您的SDL2的外部解壓縮位置,並添加庫搜索路徑連接階段。

  1. 項目 - >屬性:C/C++建設 - >設置:( 「工具設置」 標籤)MinGW的C++反編譯>包括: 「包括路徑(-I)」 部分

  2. 項目 - >屬性:C/C++建設 - >設置( 「工具設置」 選項卡)MinGW的C++連接器 - >庫: 「庫搜索路徑(-L)」 部分

至於你的其他問題,確保你有SDL2。在你的PATH DLL,然後你將不必複製它。如果你真的想複製它,你可以將它添加到後期構建步驟:項目 - >屬性:C/C++構建 - >設置:(「構建步驟」選項卡)後構建步驟:命令

+0

謝謝!這裏的後期製作步驟似乎相當笨拙......如果還有其他非編譯文件呢? (即配置/ ini或READMEs)...此外,有沒有辦法使用相對路徑的任何(或項目路徑引用)?我已經成功地使用完整路徑,但我寧願更易於轉讓。 – chezy525