LTLIBRARIES: mv *.Tpo *.Plo,但前者不存在,后者已经存在

发布于 2024-07-27 23:47:54 字数 965 浏览 5 评论 0原文

我正在将现有库(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 ...

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

I'm doing a pretty straight-forward conversion of an existing library (libtcod) to Autotools (for OS X happiness). Unfortunately, when I switch my Makefile.am's lib_LIBRARIES rule to lib_LTLIBRARIES, the build goes from successful to un. Excerpt from the output below:

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 looks like this:

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

src/.deps contains:

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

Am I making an obvious mistake here, or should this work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我是有多爱你 2024-08-03 23:47:54

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

Yes, I'm making an obvious mistake. I needed to run autoreconf -i to create a non-empty ltmain.sh script; the existing one made ../libtool here a no-op.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文