Iphone 配置';s选项,例如--额外cflags“我很困惑
下面将为i386构建ffmpeg静态库。但我不知道该选项的方法,例如“-extra-cflags”、“extra-ldflags”、“sysroot=”、“--as=” 谁能告诉我这些选择意味着什么?在哪里可以找到详细的解释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将为汇
谢谢。我正在等待您的帮助。您可以始终以
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