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これは、windows32ホスト用にlinux64ビルドシステムでクロスコンパイルされたさまざまなソフトウェアを抽出してインストールした結果です。例libpng

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

インストールされたツールを使用するには$HOME/mingw32/i686-w64-mingw32/binPATH環境変数に追加する必要があります。ただし、このバイナリディレクトリには次のものが含まれているため、これを行うのは気が進まない

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

したがって、クロスコンパイルされたパッケージをインストールするのに適切な場所は$HOME/mingw32、であると思いました。そのため、への追加$HOME/mingw32/i686-w64-mingw32/binを省略できPATHます。ただし、./configureこれらのヘッダーがにインストールされたときに、以前にインストールした他のパッケージのヘッダーを見つけることができなかったため、これは機能しませんでした$HOME/mingw32/include。それらをにインストールしたとき、スクリプト$HOME/mingw32/i686-w64-mingw32/includeによって検出されました。./configure

$HOME/mingw32/includeクロスコンパイラーに組み込みのインクルードパスとして使用するように指示するために、何か特別なことをする必要がありますか?ネイティブコンパイラに組み込まれているのと同じよう/usr/includeに、つまり。

したがって、使用する正しいプレフィックスが何であるかわかりません。誰かが正しい道ととの正確な意味を説明できます$HOME/mingw32/$HOME/mingw32/i686-w64-mingw32

4

1 に答える 1

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.

ソース

于 2012-12-28T00:50:05.730 に答える