MinGW make命令的奇怪问题(使用muParser)?

时间:2011-09-10 03:11:47

标签: command-line makefile mingw

我在尝试在Windows机器上构建和安装muParser时遇到了最奇怪的问题。根据安装指南的建议,我只需进入build文件夹,然后运行

make -f makefile.mingw

这应该是一切都很好的标准程序。但是,我无法理解命令的输出:

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>

现在......在这一点上,我真的很困惑。因为根据命令提示符窗口的标题,我仍然在INS命令中。所以,我输入"退出"在"提示"

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>

该命令出现在" step"通过它的下一个功能。我继续在"提示符#34;并且命令似乎继续步进直到它完成。但是,在完全退出后,我看不到任何结果,似乎没有任何实际的结果。

此外,这与命令提示符无关。我甚至写了一个python脚本来cd进入目录并调用make,输出仍然显示一个Windows样式的命令提示符 - 完成版权Microsoft行等,并等待输入。我以相同的方式键入exit,直到进程退出到python。

现在,我可能会疯了,但我真的很困惑。在论坛上提出的要求没有任何帮助,唯一的反应是" Windows构建应该正常工作。"

有谁知道发生了什么?

2 个答案:

答案 0 :(得分:3)

我下载了muParser包并尝试构建它。我和你做的一样奇怪。然后我意识到我只安装了MSYS-make,而不是MinGW-make(第一个用于MSYS shell,第二个用于Windows cmd shell)。
不幸的是,安装和使用mingw32-make会产生不同的错误,但谷歌搜索引导我this page,建议在MSYS目录中重命名sh.exe。完成后,运行mingw32-make -f makefile.mingw成功构建(静态版本)库。

你和shellter使用的另一种在MSYS shell中运行./configure; make的方法,也无法为我构建示例。在这种情况下,它确实构建了库的DLL版本,而不是静态版本;也许这就是为什么这个例子无法建立的原因。

答案 1 :(得分:1)

(你可能想为'make'或'gmake'添加一个标签,这样可以增加看你问题的眼睛数量。)

看看makefile.mingw,我很惊讶地发现'-if not exists ..'这样的语句,即.bat文件语法。

我运行了./configure ; make并且它超出了您提到的错误消息,但我看到了一堆错误消息,例如undefined reference to mu::ParserError:,所以我可能缺少库以使其完全正常工作。我将不得不离开它,并希望它对你有所帮助。请注意,我没有使用make -f makefile.mingw。使用configure之后,make只是选择了新创建的Makefile,它工作正常(除了库问题; - )

(当你说论坛时,你的意思是mingw论坛吗?如果没有,请尝试查看here。搜索功能相当不错。)

我希望这会有所帮助。