什么是Noinst_libfoo_ladir中的Ladir
What is ladir in noinst_libfoo_ladir?
我创建了一个名为foo的示例项目,其 configure.ac is:
AC_PREREQ([2.69])
AC_INIT([foo], [1.0.0], [a@a.a])
AC_CONFIG_SRCDIR([foo.cpp])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign])
LT_INIT
AC_PROG_CXX
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
及其 makefile.am 是:
lib_LTLIBRARIES = libfoo.la
libfoo_la_SOURCES = foo.cpp
noinst_libfoo_la_DATA = test
运行autoreconf -i
时,我得到:
makefile.am:3:错误:'noinst_libfoo_la_data'已使用但 'Noinst_libfoo_ladir'是不确定的。
什么是noinst_libfoo_ladir
?我似乎找不到有关此的文档。
您的问题是该行,如错误:
中所示noinst_libfoo_la_DATA = test
自动制品在决定如何构建时处理这些变量后缀。请注意,以_DATA
结尾的后缀不是其中之一。但是,它确实将_DATA
识别为安装在一个位置中(例如,data_DATA
安装在datadir
中)。因此,将安装noinst_libfoo_la_DATA
的位置将在变量noinst_libfoo_ladir
中,其定义不存在于makefile.am中,因此错误。
所以ladir
什么都不是。它只是用dir
的CC_11后缀,试图找到一个未定义的变量。应用于data_DATA
的相同过程将是data
(脱条off _DATA
后缀) dir
= datadir
。为了不出现错误,您需要定义类似:
noinst_libfoo_ladir = $(datadir)/libfoo
在makefile.am中。我称其为其他东西,因为noinst_
前缀对Autotools中的其他事物具有特殊的含义(不要安装)。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- .cpp和.h文件中的模板专用化声明
- 反向给定链表中的K节点
- 正在查找文档以获得PS4平台的C++中的设备信息
- enum是C++中的宏变量还是整数变量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 将字符串存储在c++中的稳定内存中
- 文本文件中的单词链表
- 递归函数计算序列中的平方和(并输出过程)
- 如何从C++中的依赖类型中获得它所依赖的类型
- C++中的"inline"关键字
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 用C++中的一个变量定义一个常量
- vector.resize()中的分配错误
- 使用指针从C++中的数组中获取最大值
- arr[-1]在c++中的奇怪行为
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 将值指定给向量(2D)的向量中的某个位置
- 什么是Noinst_libfoo_ladir中的Ladir