2013-02-09 126 views
2

我想從我的Ubuntu筆記本電腦安裝交叉編譯器,以便可以編譯Windows命令行程序。到目前爲止,我已經使用g ++編譯了我需要的所有庫,所以我想要執行相同的操作來生成等效的Windows二進制文件。在Ubuntu上使用MinGW缺失頭文件依賴關係

我已經通過apt-get安裝了gcc-mingw,並安裝了一些二進制文件。我使用i686-w64-mingw32-g++二進制編譯成功編譯了一個「Hello World」程序。

但是我在編譯更復雜的項目時遇到了一些問題。我注意到這個二進制文件包含了來自標準g ++的不同文件夾,並且它找不到依賴關係(例如,boost頭文件,bits/predefs.h等)。有沒有一種方法可以設置mingw參數,以便它可以像g ++開箱即用那樣工作?

+0

沒有Boost標題,因爲沒有爲它安裝Boost。沒有'bits/*',因爲那些是用於POSIX的。 – 2013-02-09 01:40:35

+0

那麼解決這個問題最正確的方法是什麼?對於提升我想我可以簡單地通過他已安裝的文件夾我已經有(只要我不使用編譯的東西),但剩下的? – Svalorzen 2013-02-09 10:31:23

+0

其餘的,堅持使用Windows API。 – 2013-02-09 10:31:50

回答

0

我發現了這個問題。我使用的Boost庫是通過apt-get安裝的。顯然這意味着許多#if defined (__GLIBC__)被自動轉換爲#if 1。這導致包含一些非跨平臺的頭文件。從網站下載庫並使用它解決了問題。