我正在尝试使用M Cross Environment从Linux为Windows交叉构建应用程序,这实际上只是一个makefile文件系统,它有助于使用Mingw-w64工具。应用程序的构建系统是autotools。
当我尝试构建时,我得到的错误如下:
libtool: link: lib -OUT:.libs/liby12.lib y12mae.o y12maf.o y12mbe.o y12mbf.o y12mce.o y12mcf.o y12mde.o y12mdf.o y12mfe.o y12mge.o y12mhe.o
../../libtool: line 1112: lib: command not found
make[4]: *** [liby12.la] Error 127
make[4]: Leaving directory `/opt/mxe/tmp-mbdyn-i686-w64-mingw32.static/mbdyn-1.7.1.build_/libraries/liby12'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/opt/mxe/tmp-mbdyn-i686-w64-mingw32.static/mbdyn-1.7.1.build_/libraries'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/mxe/tmp-mbdyn-i686-w64-mingw32.static/mbdyn-1.7.1.build_'
make[1]: *** [build-only-mbdyn_i686-w64-mingw32.static] Error 2
make[1]: Leaving directory `/opt/mxe'
任何人都可以解释问题是什么吗?
其他人在this stackoverflow问题中遇到了类似的问题,尽管它们似乎是在Windows上本地构建的。还有一个邮件列表here的讨论。这些来源都没有为我对libtool知识有限的人提供足够的信息来解决问题(我甚至不知道1112行是指什么,即libtool本身究竟是什么行1112?这是libtool中的注释行)。
编辑:
我发现了以下帖子:
实际上是关于在cygwin上编译我正在交叉编译的相同应用程序(mbdyn,但是早期版本)。似乎问题可能是由于在源目录中配置创建libtool脚本。我猜这是与交叉编译器libtool脚本或类似事件的冲突。
那么解决这个libtool问题的正确方法是什么?
答案 0 :(得分:0)
问题实际上已在发布的链接中得到解答。问题是需要在AC_PROG_F77
中的条件语句之外调用configure.ac
。否则libtool会在执行交叉编译时感到困惑,因为指定了fortran编译器并且从不触发条件。