私はMinGWの/ MSYS誰かがMinGW/MSYSでfreetypeを正常にコンパイルしましたか?
でfreetypeにコンパイルしようとunsucessfulだがここで私は何をすべきかです:
cmd.exe
から、私はMSYS
に切り替える:その後、
C:\temp\freetype-2.3.5-1\src\freetype\2.3.5\freetype-2.3.5>bash
そして
configure
スクリプトを呼び出します
bash-3.1$ ./configure
FreeType build system -- automatic system detection
The following settings are used:
platform unix
compiler cc
configuration directory ./builds/unix
configuration rules ./builds/unix/unix.mk
If this does not correspond to your system or settings please remove the file
`config.mk' from this directory then read the INSTALL file for help.
Otherwise, simply type `make' again to build the library,
or `make refdoc' to build the API reference (the latter needs python).
cd builds/unix; ./configure
checking build system type... i686-pc-mingw32
[------ Deleted some 121 lines because they seem irrelevant for the problem ------]
config.status: creating ftconfig.h
make: Nothing to be done for `unix'.
freetypeを設定した後、0を使用します。ソースをコンパイルする:
bash-3.1$ make
/bin/sh: cygpath: command not found
config.mk:36: /builds/freetype.mk: No such file or directory
config.mk:57: /builds/unix/install.mk: No such file or directory
builds/toplevel.mk:158: /builds/modules.mk: No such file or directory
make: *** No rule to make target `/builds/modules.mk'. Stop.
問題は、私はCygwinをインストールしていないので、奇妙であるのcygpath、のようです。
ヌーはを行い、コンパイル命令の任務ので、私はこれを検証:
bash-3.1$ make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i686-pc-msys
は私が間違って何をしますか?
:Makefile.mingw
もディレクトリにあります。 make -f Makefile.mingw
でコンパイルプロセスを開始しようとしても、いずれも完了せず、メッセージ¨make: *** No rule to make target 'MFSED', needed by 'all'. Stop.
を返します。 [OK]を
更新、私は問題にいくつかの探偵の調査を行っている、そして私がCygwinをインストールしていないため、問題がprecislyようです。 cygpath
はunix-pathsをwindows-pathsに変換するCygWinユーティリティ(See here)であり、逆も同様です。
- ./builds/unix/aclocal.m4
- ./builds/unix/configure
- ./builds/unix/:
さて、
¨find . -type f -exec grep -l cygpath {} \;
はcygpath
が使用されているいくつかの場所を見つけます - ./patches/freetype-2.3.4.diff
- ./builds/unix/unix-def.mk
- unix-def.in ./patches/freetype-2.3.5/build S/UNIX/unix-def.mk
- ./patches/freetype-2.3.5.diff
と私はビルドを修正するためにこれらの場所の1以上で何かを変更する必要があるだろうと思います。右? ./configure-buildプロセス全体についてより多くの知識を持っている人が、私にこの問題に関するヒントを与えることができることを願っています。
更新II:rubenvbの答えから、私はその後、./configure --build=i686-pc-mingw32
とを試し読み
TOP_DIR := $(shell cd $(TOP_DIR); cygpath -m `pwd`)
builds/unix/unix-def.mk
でとその後、変更行を読んで行を削除することができ考え出し
RCTOOL_COMPILE = RCTOOL
~
./builds/freetype.mk
でRCTOOL_COMPILE = $(RCTOOL)
ともc:\mingw\bin
へhttp://gnuwin32.sourceforge.net/rctool.sh.txtをコピーする(が見つからないためrctool.sh
の奇妙なエラーが発生したため)、、その後make
でコンパイル処理を開始します。
さて、私は
./src/base/ftcalc.c:75:3: warning: 'FT_RoundFix' redeclared without dllimport attribute: previous dllimport ignored
よう多く警告を得ているものの、ソースファイルのコンパイルは、最後の完全な(少なくとも部分的)に見えた。しかし、リンカは、* .oのをリンクすることができませんファイルは
のように多くあります。C:\temp\freetype-2.3.5-1\src\freetype\2.3.5\freetype-2.3.5/src/base/ftinit.c:89: undefined reference to `_imp__FT_Add_Module'
私はコンパイル警告がリンカエラーとは無関係ではないと思います。
だから今は何ですか?一般的に
貴重なご協力をいただきありがとうございます。残念なことに、いずれのオプションも変更されていないが、両方とも、欠落している 'cygpath'に関連する同じエラーを生成する。私はREADME(実際にはINSTALL.UNIX *と* UPGRADE.UNIX *と呼ばれ、どちらもMinGW/MSYS用に明示されています)を見出し、基本的なことを私に言いました。私は(私はすでに4〜5時間過ごしましたが)十分に頑張っていないと主張していませんが、全体のポイントではありません。異なるプラットフォームについて心配する必要はありません。 –
さて、cygpathはmsys環境では必要ありません。 mingw32-makeを使用してWindowsコンソール(cmd.exe)からmingwメイクファイルを使用しても問題ありませんか? – rubenvb
私はcmd.exeを開き、 'C:\ temp \ freetype-2.3.5-1 \ src \ freetype \ 2.3.5 \ freetype-2.3.5'にcdして' mingw32-make.exe -f Makefile.mingw'は、たくさんの行を印刷した後に、最終的に 'mingw32-make:***'ターゲット 'MFSED'を作るためのルールがなく、 'all 'が必要です。停止.' –