- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道 AM_LDFLAGS 和 LDFLAGS 之间的区别,因为我遇到了错误
error: AM_LDFLAGS must be set with '=' before using '+='
当我在 foreach 循环中使用 AM_LDFLAGS 时我的make文件代码如下:
program_INCLUDE_DIRS := /usr/bin/PR__bin
program_LIBRARY_DIRS := /usr/lib/PR__lib
CFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))
AM_LDFLAGS += $(foreach librarydir,$(program_LIBRARY_DIRS),-L$(librarydir))
最佳答案
_I want to know what is the difference between AM_LDFLAGS and LDFLAGS_
LDFLAGS
是从Autoconf继承的变量,AM_LDFLAGS
是automake定义的变量。
根据汽车制造商manual page ,
This is the variable the
Makefile.am
author can use to pass in additional linker flags. In some situations, this is not used, in preference to the per-executable (or per-library)_LDFLAGS
.
但是,重新报错,按照提供的信息here ,它看起来像是变量使用的问题。 Automake 要求必须先将变量设置为一些 值,然后才能附加。
解决此问题的正确方法与 other answer 中提到的方法相同由 Etan Reisner 提供,只需在循环之前显式设置 AM_LDFLAGS
,例如
AM_LDFLAGS = // which "sets" the AM_LDFLAGS
然后做
AM_LDFLAGS += $(foreach librarydir,$(program_LIBRARY_DIRS),-L$(librarydir))
关于c - AM_LDFLAGS 和 LDFLAGS 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27655278/
我创建了一个食谱,总结如下: do_install() { install -d ${D}/GreenTea cp ${S}/foo.sh ${D}/GreenTea cp ${S}/fo
我有一个项目的下一个结构: cruceGame/ src/ libCruceGame/... cruceGameCurses/... multi
我正在尝试使用 go build 来更新我项目中的一个变量: 完整项目路径: c:\goprojects\src\deployment\cl\apps\appName 从 c:\goprojects\
我有一个无法正确链接的 C 项目,我怀疑这是因为 gcc 传递给 ld 程序的 --as-needed 标志。由于该标志,gcc 将在 *.c 文件之前列为选项的任何链接库视为不必要的,并且不会链接它
我正在尝试建立一个名为 PBC 的库(基于配对的密码学)。而这个库需要另一个名为 GMP 的库。 -(GNU 多精度库)。 我的问题是正确安装GMP后,PBC给出了一个错误: gmp library
我正在使用以下标志编译程序并出现错误(运行 64 位操作系统): g++ -lm -lml -lcvaux -lhighgui -lcv -lcxcore main.o BRIEF.o -o BRIE
我在 OS X 10.6.2 上遇到 python-config --ldflags 问题。 使用我的非系统 python.org python 安装: robin-mbp:~ robince$ wh
我想在程序启动时打印构建时间,例如: package main import "fmt" var BuildTime string func main() { fmt.Println(Buil
一个快速的问题。我在示例 Makefile 中找到了“DLDFLAGS”和“LDFLAGS”。使用的编译器是gcc。看起来它们都用于链接器。我想知道它们之间有什么区别。 最佳答案 LDFLAGS通常设
我想在一个存储库中有多个二进制文件,但也想通过 ldflags 设置版本选项。 在存储库中只有一个二进制文件我没有问题,它可以工作,但是对于多个二进制文件的新结构似乎不起作用。 我在 github 上
根据操作系统的不同,我在configure.ac中定义了一个特殊的LDFLAGS: AC_CANONICAL_HOST if test "$host_os" = cygwin then LDF
我是 Linux 操作系统新手。我正在尝试使用 makefile 编译 .c 文件。必须链接数学库。我的 makefile 如下所示: CC=gcc CFLAGS=-Wall -lm all:clie
在 Makefile 中将库与 LDFLAGS 链接时,如何知道库的名称? 例如: libxml2.dylib 与 -lxml2 链接 libz.dylib 实际上命名为 zlib 与 -lz 链接
我有一个使用 GCC 和 MinGW 为 Ubuntu 和 Windows 编译的 Qt 项目。 I got a requirement to harden it by adding the foll
我已经阅读了一些安装,我需要正确设置环境变量LDFLAGS、LD_LIBRARY_PATHS和CXXFLAGS才能运行./compile.sh。但是,我不确定在那里提供什么路径。有人可以解释一下这些标
我想知道 AM_LDFLAGS 和 LDFLAGS 之间的区别,因为我遇到了错误 error: AM_LDFLAGS must be set with '=' before using '+=' 当我
如果我有两个具有相同库名称但存储在不同目录中的库(并且它们可能包含不同的代码)并且我在 makefile 的 LDFLAGS 变量中列出了这两个目录,链接器如何知道先看哪里以及先看哪个要使用的库?
我有一个这样的围棋程序: package main import "fmt" var version string func main() { fmt.Printf("Version %s\n
我正在 Windows 上使用 MSys 和 Mingw 构建一个 dll。项目的源码只提供了autogen.sh、configure.ac和makefile.am。要生成 makefile,运行 a
如何在 qt .pro 字段中添加 LDFLAGS? 考虑库文件夹和共享库(.so)位于 dir_path 文件夹中。 例如,添加这一行并不能解决问题 LIBS+= -Ldir_path -llibr
我是一名优秀的程序员,十分优秀!