Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在配置脚本中指定makeargs?_Linux_Gnu Make - Fatal编程技术网

Linux 如何在配置脚本中指定makeargs?

Linux 如何在配置脚本中指定makeargs?,linux,gnu-make,Linux,Gnu Make,在构建如何在中提供包含路径和库路径时,使用--makeargs=?我的意思是makeargs的语法是什么。通常使用两个宏比使用一个宏更安全。一个用于包含指令,一个用于链接指令: AC_ARG_WITH(cflags, [ --with-cflags=CFLAGS use CFLAGS as compile time arguments.], [CFLAGS=$with_cflags; export CFLAGS]) AC_ARG_WITH(ldflags, [

在构建如何在中提供包含路径和库路径时,使用--makeargs=?我的意思是makeargs的语法是什么。

通常使用两个宏比使用一个宏更安全。一个用于包含指令,一个用于链接指令:

AC_ARG_WITH(cflags, [ --with-cflags=CFLAGS use CFLAGS as compile time arguments.], [CFLAGS=$with_cflags; export CFLAGS]) AC_ARG_WITH(ldflags, [ --with-ldflags=LDFLAGS use LDFLAGS as link time arguments to ld.], [LDFLAGS=$with_ldflags; export LDFLAGS]) 带(cflags, [--with cflags=cflags使用cflags作为编译时参数。], [CFLAGS=$with_CFLAGS;export CFLAGS]) 带有(ldflags, [--with ldflags=ldflags使用ldflags作为ld的链接时间参数。], [LDFLAGS=$带LDFLAGS;导出LDFLAGS])
然后./configure--with cflags=“-I/path/one-I/path/two”--with ldflags=“-L/path/other”工作。

您可以在环境中或在
/configure
命令行上设置这些标志。有三个变量需要设置:

  • CPPFLAGS
    是C预处理器的标志。包括标志(
    -I
    )和
    -D
    定义
  • CFLAGS
    是C编译器的标志。优化标志和机器特定标志位于此处
  • LDFLAGS
    用于链接器<代码>-L标记位于此处
您可以在环境中设置它们:

$ export CPPFLAGS='-I/foo/bar/baz/include'
$ export LDFLAGS='-L/foo/bar/baz/lib'
$ ./configure
也可以在命令行上设置它们:

$ ./configure CFLAGS='-I/foo/bar/baz/include' LDFLAGS='-L/foo/bar/baz/lib'

不可以。如果您使用的是自动冷却软件包,它会响应
CFLAGS
CPPFLAGS
LDFLAGS
环境变量。您可以在您的环境中或将它们设置为
/configure CFLAGS='-ffoo-mbar'CPPFLAGS='-I/path/one-I/path/two
LDFLAGS='-L/path/lib'`。我发现大多数人更喜欢列出特定选项的帮助输出,而不是传递上述环境变量。我确实知道它们是受支持的,但我认为从可用性的角度来看,这并不令人愉快。话虽如此,我认为整个配置过程本身并没有那么好的可用性。如果您运行
/configure--help
,您将看到它在输出中还列出了有影响的环境变量。此外,让你的包与世界其他地方不同真的值得吗?GBS的全部目的是为用户创造统一的体验。