gpt4 book ai didi

autoconf - Automake 和同名文件

转载 作者:行者123 更新时间:2023-12-03 23:08:22 25 4
gpt4 key购买 nike

我有一个 C++ autoconf 管理的项目,我正在适应在 FreeBSD 主机上进行编译。
原来的系统是 Linux,所以我做了一个 AM_CONDITIONAL 来区分我正在构建的主机并将代码分成系统特定的文件。

配置文件

AC_CANONICAL_HOST
AM_CONDITIONAL([IS_FREEBSD],false)
案例 $host in
*自由*)
AC_DEFINE([IS_FREEBSD],[1],[FreeBSD 主机])
AM_CONDITIONAL([IS_FREEBSD],真)
BP_ADD_LDFLAG([-L/usr/local/lib])
;;
esac

生成文件

lib_LTLIBRARIES=mylib.la
mylib_la_SOURCES=a.cpp\
b.cpp

如果 IS_FREEBSD
mylib_la_SOURCES+=freebsd/c.cpp
别的
mylib_la_SOURCES+=linux/c.cpp
万一

当我运行 automake 时,它​​会失败并显示以下消息:

Makefile.am:由`linux/c.cpp'和`freebsd/c.cpp'创建的对象`c.lo'

即使在 Makefile.in 构建过程中,关于如何配置 automake 以遵守此条件的任何想法?

如果文件具有不同的名称,我可以这样做,但它是 C++ 代码,我试图使文件名与类名相同。

提前致谢!

最佳答案

您可以请求将对象构建在其各自的子目录中

AUTOMAKE_OPTIONS = subdir-objects

关于autoconf - Automake 和同名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/917948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com