gpt4 book ai didi

autotools - 在 autotools 的 config.h 中获取完整的源路径

转载 作者:行者123 更新时间:2023-12-01 23:45:27 26 4
gpt4 key购买 nike

我正在构建一个小型库,并且正在使用 autotools。代码是在 C++ 中,它输出一些 html 代码。有很多与 html 代码相关的样式表和 javascript 代码。由于后者是固定的,因此代码将这些文件复制到写入 html 输出(动态)的文件夹中。输出路径是函数的参数。

问题是,要复制 javascript 和样式表,我需要知道源目录的完整路径。有些代码是基于模板的,代码直接在头文件里面。所以在 Makefile 中定义一个变量(编译器标志)对我不起作用。

我打算在 config.h 中定义一个变量,这样,如果 config.h 包含在原始头文件中,我将获取路径。

我试过用

AC_DEFINE_UNQUOTED([DATA_PATH], ["$srcdir"], "数据路径"

autoconf 运行后,config.h 文件将 DATA_PATH 定义为“.” .但我需要完整的安装路径。

执行此操作的正确/最佳方法是什么

最佳答案

您正在寻找srcdir 的绝对路径。它可以通过使用轻松完成:

 readlink -f $srcdir

回想一下,configure.ac 文件实际上是一个带有 m4 宏的 shell 脚本。所以实际上每个标准命令都可以访问:这是处理您的问题的可能方法:

srcdir2=`readlink -f $srcdir`
AC_DEFINE_UNQUOTED([DATA_PATH], ["$srcdir2"], [data path])

关于autotools - 在 autotools 的 config.h 中获取完整的源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525350/

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