【问题标题】:LTLIBRARIES: mv *.Tpo *.Plo, but the former doesn't exist and the latter already doesLTLIBRARIES:mv *.Tpo *.Plo,但前者不存在,后者已经存在
【发布时间】:2010-11-14 12:36:37
【问题描述】:

我正在将现有库 (libtcod) 直接转换为 Autotools(为了 OS X 的快乐)。不幸的是,当我将我的Makefile.amlib_LIBRARIES 规则切换到lib_LTLIBRARIES 时,构建从成功变为取消。摘自以下输出:

Making all in .
make[1]: Nothing to be done for `all-am'.
Making all in src
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -g -O2 -MT bresenham_c.lo -MD -MP -MF .deps/bresenham_c.Tpo -c -o bresenham_c.lo bresenham_c.c
mv -f .deps/bresenham_c.Tpo .deps/bresenham_c.Plo
mv: rename .deps/bresenham_c.Tpo to .deps/bresenham_c.Plo: No such file or directory
make[1]: *** [bresenham_c.lo] Error 1
make: *** [all-recursive] Error 1

src/Makefile.am 看起来像这样:

lib_LTLIBRARIES = libtcod.la
libtcod_la_SOURCES = bresenham_c.c bresenham3_c.c bsp_c.c color_c.c ...

src/.deps 包含:

$ ls src/.deps/
bresenham_c.Plo bresenham_c.Po ...

我在这里犯了一个明显的错误,还是应该这样做?

【问题讨论】:

    标签: macos autotools automake libtool


    【解决方案1】:

    是的,我犯了一个明显的错误。我需要运行autoreconf -i 来创建一个非空的ltmain.sh 脚本;现有的使../libtool 此处无操作。

    【讨论】:

    • 一段时间以来,我一直在努力解决同样的问题。我的程序运行良好,直到我在 openSUSE12.1 上尝试过。这解决了我。
    • 什么是.Tpo 和.Plo,顺便问一下? autoreconf -i 如何帮助解决与他们相关的问题?为什么这不会出现在项目的 README 或 INSTALL 文档中,具体取决于 automake ?
    • 我不知道这是什么,但它解决了我在尝试编译 rxp-1.5.0 时遇到的问题,它是 ARM 上 CPU2006-1.2 中 SPEC 工具的一部分。所以谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 2020-10-31
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 2011-12-29
    相关资源
    最近更新 更多