Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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
Iphone 配置';s选项,例如--额外cflags“我很困惑_Iphone_Ios_Macos_Configure - Fatal编程技术网

Iphone 配置';s选项,例如--额外cflags“我很困惑

Iphone 配置';s选项,例如--额外cflags“我很困惑,iphone,ios,macos,configure,Iphone,Ios,Macos,Configure,下面将为i386构建ffmpeg静态库。但我不知道该选项的方法,例如“-extra-cflags”、“extra-ldflags”、“sysroot=”、“--as=” 谁能告诉我这些选择意味着什么?在哪里可以找到详细的解释 谢谢。我正在等待您的帮助。您可以始终以configure--help的形式运行configure脚本;它将打印一个用法声明和关于许多可接受参数的信息——通常,希望是特定于包的感兴趣的参数 也就是说,--extra-cflags将为C编译器提供额外的命令行开关,--as将为汇

下面将为i386构建ffmpeg静态库。但我不知道该选项的方法,例如“-extra-cflags”、“extra-ldflags”、“sysroot=”、“--as=”

谁能告诉我这些选择意味着什么?在哪里可以找到详细的解释


谢谢。我正在等待您的帮助。

您可以始终以
configure--help
的形式运行
configure
脚本;它将打印一个用法声明和关于许多可接受参数的信息——通常,希望是特定于包的感兴趣的参数


也就是说,
--extra-cflags
将为C编译器提供额外的命令行开关,
--as
将为汇编程序提供路径,
--sysroot
将为链接器提供备用安装目录,
--extra-ldflags
将为链接器提供额外的标志。这些都是相当高级的,您不太可能需要使用它们。

这是一个有趣的
configure
脚本,因为通常的Autoconf脚本使用环境变量来表示C标志(
CFLAGS
)和C编译器位置(
CC
)。例如:

    # configure for i386 build
./configure \
--cc=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc \
--as='gas-preprocessor.pl /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc' \
--sysroot=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk \
--extra-ldflags=-L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/system \
--target-os=darwin \
--arch=i386 \
--cpu=i386 \
--extra-cflags='-arch i386' \
--extra-ldflags='-arch i386' \
--prefix=compiled/i386 \
--enable-cross-compile \
--disable-armv5te \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffserver \
--disable-ffprobe \
--disable-doc

在我看来,问题中的情况类似于交叉编译(可能是针对x86“iphone”,这是他们的模拟器),因此可能需要覆盖环境变量,这些变量提供为主机构建所需的设置,以及为目标构建所需的值。感谢eepp和chris stratton。我知道这些选项现在是环境变量。我可以找到有关此配置的帮助来执行配置帮助。谢谢欧内斯特,我很乐意接受您的帮助。找到理解这一点的方法。再次感谢。使用
--extra cflags
和使用CLFAG作为环境变量有什么区别吗?
gcc
是否同时考虑到了这两个因素?@Hashim它们实际上是“额外的”。它们将添加到CFLAGS中定义的任何内容中,而不是取代以前的任何定义。根据您的情况,它们可能是等效的,也可能不是。“额外”标志使使用环境中已有的内容变得容易,然后添加更多内容。
CC=/path/to/my/specific/gcc/version CFLAGS="-I/additional/include/dir -L/additional/library/dir" \
./configure --prefix=/installation/dir --host=cross-compiler-triplet-if-any \
--enable-something --with-some-feature --disable-something-else