2011-09-10 13 views
4

WindowsマシンにmuParserをビルドしてインストールしようとしたときに、私は一番奇妙な問題を抱えています。MinGW makeコマンド(muParserを使用)に奇妙な問題がありますか?

make -f makefile.mingw 

をビルドフォルダへのインストールガイド、IちょうどCDが提案し、そして実行するとこれは、標準的な手順すべてが順調と良いことがあります。しかし、私はコマンドからの出力を理解できません:

if not exist obj\gcc_static_rel mkdir obj\gcc_static_rel 
Microsoft Windows [Version 6.1.7600] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\Chase\Desktop\muparser_v2_0_0\muparser_v2_0_0\build> 

今...私は本当に混乱しています。コマンドプロンプトウィンドウのタイトルによると、私はまだmakeコマンドの中にいます。したがって、「プロンプト」に「exit」と入力します。

g++ -c -o obj\gcc_static_rel\muParser_lib_muParser.o -DNDEBUG -O2  -D_WIN32 -  I..\include -MTobj\gcc_static_rel\muParser_lib_muParser.o - MFobj\gcc_static_rel\muParser_lib_muParser.o.d -MD -MP ../src/muParser.cpp 
Microsoft Windows [Version 6.1.7600] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\Chase\Desktop\muparser_v2_0_0\muparser_v2_0_0\build> 

このコマンドは、次の機能を「実行」しているようです。私は "プロンプト"でexitとタイプし続け、コマンドは完了するまでステッピングを続けるように見えます。しかし、完全に終了した後、私は結果を見ることができず、実際に何も行われていないように見えます。

また、これはコマンドプロンプトとは関係ありません。私はディレクトリにcdしてmakeを呼び出すPythonスクリプトを書いただけで、出力にはWindows形式のコマンドプロンプトが表示されていました - 著作権Microsoftラインなどがあり、入力を待っていました。プロセスがPythonに戻ってくるまで、同じ方法で終了しました。

今、私は狂っているかもしれませんが、私は本当に混乱しています。フォーラムに依頼しても助けにはならなかったが、唯一の答えは「Windowsビルドが機能しているはずだ」ということだ。

誰でも何が起こっているのか分かりますか?

答えて

1

(「make」または「gmake」のタグを追加すると、問題を見ている目の数を増やすことができます)。

makefile.mingwを見ると、「-if not exist ..」のようなステートメントが表示されます。これは.batファイルの構文です。

私は./configure ; makeを実行しましたが、あなたが言及しているエラーメッセージを過ぎていますが、undefined reference to mu::ParserError:のようなエラーメッセージが表示されているので、完全に機能するライブラリがありません。私はそれを残す必要があり、それがあなたを助けることを願っています。私はmake -f makefile.mingwを使用しなかったことに注意してください。 configureを使用した後、あなたがフォーラムを言うとき、あなたはmingwのフォーラムを意味するのですか?そうでない場合は、周りのhere探してみてください(ライブラリの問題;-)

を除く(makeだけで、新しく作成されたMakefileを拾い、それが働いたザ検索機能はかなり良いです。)

私はこれが役に立ちそうです。

+0

私は同じことをしており、未定義の参照でも問題が発生しています....私はここで何を考えるべきかわかりません... – cemulate

+0

私にとっては、未定義の参照で失敗するサンプルプログラムです。私はmuParserが正しいと思うが、テストする方法はわからない。それは今働いているかもしれません。例が必要ですか?回答の編集を参照してください。がんばろう。 – shellter

+0

lib * .dll.aに何も問題ありません。これは、dllに付随するインポートライブラリの一般的な命名規則です。 – eriktous

3

muParserパッケージをダウンロードしてビルドしようとしました。私はあなたがしたのと同じ奇妙な行動をしました。それから、MinGW-makeではなく、MSYS-makeがインストールされていることに気付きました(最初のものはMSYSシェルでの使用を意図しています。もう1つはWindows cmdシェルでの使用を意図しています)。
残念ながら、mingw32-makeをインストールして使用すると、別のエラーが発生しましたが、グーグルではthis pageになり、MSYSディレクトリのsh.exeの名前を変更するように提案されました。その後、mingw32-make -f makefile.mingwを実行すると、ライブラリの静的バージョンが正常に構築されました。

あなたとシェルターがMSYSシェルで./configure; makeを実行している他の方法でも、私のためのサンプルをビルドできません。この場合、静的バージョンではなく、ライブラリのdllバージョンをビルドします。おそらくこれが、例が構築できない理由です。

+0

投稿されてから5年後、ありがとうございます。私はパスのどこかにsh.exeを持っていました。ビルドする前に名前を変更して問題を解決します。 –