2012-11-26 101 views
1

我已經安裝了一個與MinGW-W64爲$HOME/mingw32我應該使用什麼路徑來安裝交叉編譯軟件包?

~$ ls -l mingw32 
insgesamt 32 
drwxr-xr-x 2 js js 4096 16. Aug 16:41 bin 
drwxr-xr-x 10 js js 4096 26. Nov 14:49 i686-w64-mingw32 
drwxr-xr-x 2 js js 4096 16. Aug 16:28 include 
drwxr-xr-x 3 js js 4096 16. Aug 16:41 lib 
drwxr-xr-x 3 js js 4096 16. Aug 16:36 libexec 
drwxr-xr-x 14 js js 4096 16. Aug 16:41 licenses 
drwxr-xr-x 4 js js 4096 26. Nov 15:17 QtWin32 
drwxr-xr-x 6 js js 4096 16. Aug 16:41 share 
~$ 

這是由於提取i686-w64-mingw32-gcc-4.7.1-2-release-linux64_rubenvb.tar.xz.tar和安裝編譯了LINUX64構建系統上的WINDOWS32主機各種軟件交叉。例如,libpng

$ ./configure --prefix=$HOME/mingw32/i686-w64-mingw32 --host=i686-w64-mingw32 

要使用安裝的工具,我要補充$HOME/mingw32/i686-w64-mingw32/binPATH環境變量。不過,我relucant這樣做,因爲這個二進制文件目錄包含

$ ls $HOME/mingw32/i686-w64-mingw32/bin 
ar g++ gcc ld nm objcopy ranlib strip # much more 

因此,我想,也許安裝交叉編譯包到正確的位置是$HOME/mingw32,這樣我可以省略添加$HOME/mingw32/i686-w64-mingw32/binPATH。但是,這不起作用,因爲幾個./configure腳本無法找到我以前安裝的其他軟件包的標題,這些標題安裝到$HOME/mingw32/include。當我將它們安裝到$HOME/mingw32/i686-w64-mingw32/include時,它們被./configure腳本找到。

我是否需要做一些特殊的事情來告訴交叉編譯器將$HOME/mingw32/include作爲內置包含路徑?我的意思是,就像/usr/include內置於本機編譯器一樣。

因此我不確定使用的正確前綴是什麼。有人可以請解釋正確的路徑和$HOME/mingw32/$HOME/mingw32/i686-w64-mingw32的確切含義嗎?

回答

0

使用Cygwin的MinGW-W64安裝到/usr,例如

/usr/bin/i686-w64-mingw32-gcc 

因此,我建議用這個,也許/usr/local。至於包括的話,你自己看着辦這樣

$ touch a.c 

$ i686-w64-mingw32-gcc -v a.c |& awk '/#include/,/End/' 
#include "..." search starts here: 
#include <...> search starts here: 
/usr/lib/gcc/i686-w64-mingw32/4.5.3/include 
/usr/lib/gcc/i686-w64-mingw32/4.5.3/include-fixed 
/usr/i686-w64-mingw32/sys-root/mingw/include 
End of search list. 

source

正確的路徑
相關問題