# 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
下面将为i386构建ffmpeg静态库。但我不知道该选项的方法,如“--extra-cflags”,“ - extra-ldflags”,“ - sysroot =”,“ - as =”。
谁可以告诉我这些选项的意思?在哪里可以找到详细解释?
谢谢。我在等你的帮助。答案 0 :(得分:5)
您始终可以将configure
脚本作为configure --help
运行;它将打印一个使用声明和许多已接受参数的信息 - 通常,希望是特定于包的特定参数。
也就是说,--extra-cflags
将为C编译器提供额外的命令行开关,--as
将提供汇编程序的路径,--sysroot
将提供备用安装目录,{ {1}}将为链接器提供额外的标志。这些都相当先进,你不太可能需要使用它们。
答案 1 :(得分:0)
这是一个有趣的configure
脚本,因为通常的Autoconf使用环境变量来处理诸如C标志(CFLAGS
)和C编译器位置(CC
)之类的事情。例如:
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