一个配置的选项,如“--extra-cflags”---我很困惑

时间:2012-05-07 02:10:50

标签: iphone ios macos configure

    # 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 =”。

谁可以告诉我这些选项的意思?在哪里可以找到详细解释?

谢谢。我在等你的帮助。

2 个答案:

答案 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