2012-02-17 21 views
3

私はMinGWでSQLite3をビルドしようとしています。私はそれuntarし、sqliteの-のautoconf-3071000.tar.gzをダウンロードし、次のコマンドを入力します。私はそれを作るしようとするとMinGWでSQLite3をコンパイル

./configure --prefix=/mingw 
make && make install 

を、エラーが報告された:

$ make && make install 
C:/MinGW/msys/1.0/bin/sh.exe ./libtool --tag=CC --mode=compile gcc 
-DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.7.10\" 
-DPACKAGE_STRING=\"sqlite\ 3.7.10\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.7.10\" -DSTDC_HEADERS=1 -DHAVE_ 
SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEM 
ORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H 
=1 -DHAVE_USLEEP=1 -DHAVE_DECL_STRERROR_R=0 [email protected][email protected] -D_REENTRANT=1 -DSQ 
LITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3 
.lo -MD -MP -MF .deps/sqlite3.Tpo -c -o sqlite3.lo sqlite3.c 
Xsqlite3.Tpo -c -o sqlite3.lo sqlite3.lo 
libtool: compile: libobj name `sqlite3.Tpo -c -o sqlite3.lo sqlite3.lo' may not 
contain shell special characters. 
rm: invalid option -- c 
Try `rm --help' for more information. 
mkdir .libs 
gcc "-DPACKAGE_NAME=\\sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\ 
"3.7.10\" -DPACKAGE_STRING=\\sqlite 3.7.10\"" "-DPACKAGE_BUGREPORT=\\http://www. 
sqlite.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.7.10\" -DSTDC 
_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STR 
ING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H 
=1 -DHAVE_UNISTD_H=1 -DHAVE_USLEEP=1 -DHAVE_DECL_STRERROR_R=0 [email protected][email protected] -D_R 
EENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g - 
O2 -MT sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c -o sqlite3.lo sqlite3.c" -DD 
LL_EXPORT -DPIC -o .libs/sqlite3.Tpo -c -o sqlite3.lo sqlite3.o 
gcc.exe: error: sqlite3.o: No such file or directory 
gcc.exe: fatal error: no input files 
compilation terminated. 
make: *** [sqlite3.lo] Error 1 

誰もが私を助けることができますそれ?どうもありがとう!

答えて

0

These instructions私のために働いた。私はmingwを使ってコンパイルされたsqlite3を使って自分のレールアプリケーションを実行しています。

3

これはMinGW/autotools/automake/etcの変わったバグです。

現在の作業ディレクトリ(またはビルドディレクトリ、またはすべてのソースツリーIIRC)にすべてのファイルをリストすると、 'sqlite3.Tpo -c -o sqlite3.lo sqlite3.lo'という名前のファイルが見つかります。 。名前はいくつかのコマンドの引数リストに似ています!だから、問題はMakefileのコマンドの間違ったプロセスにあると思います(エスケープが見つからないか、誤っている)。

私たちはlibtoolとgccが違法ファイルの名前やファイルが見つからないと不満を表明しています。

は幸い私は

$は、このことができます-n> cmds.sh & & SH cmds.sh

希望します。この回避策でsuccessfulyのsqliteを構築することができました。

0

同様の問題は、1つが取得するMPFR、などの他のライブラリ、と報告されました:

libtool: warning: libobj name 'extract.Tpo -c -o extract.lo extract.lo' may not contain shell special characters. 
rm: unknown option -- c 

(無効)MSYS2 bug 223での議論によると:

すべての警告とエラーが持っていますMinGW-W64から 'make'を削除し、MSYS2(GMP、MPFR、OpenSSLでテスト済み)に 'make'をインストールした後に消えてしまいました。

ここで問題が解決するはずです。

関連する問題