0

所以一个可执行文件不起作用,我发现了这篇文章(http://hintsforums.macworld.com/showthread.php?t=126972):

我已将此行添加到环境变量中:

代码:

export CFLAGS="$CFLAGS -I/usr/include/" LFLAGS="$LFLAGS -arch i386 -I/usr/local/lib"
    ./configure --disable-shared .... --cc=gcc-4.0 --enable-cross-compile --arch=i386 --target-os=darwin*

并将--disable-yasm添加到 ./configure 并完美编译。”

对环境变量一无所知,我用谷歌搜索并设置了一个 Plist 文件,但现在我很困惑。我应该添加键/值对行吗?键是“CFlags”、“LFlags”,然后呢?出口呢?也许我一起错过了标记。我非常缺乏经验。分步说明会非常好。

帮助将不胜感激。提前致谢!

4

2 回答 2

2

它在您引用的代码中,在终端中运行此行:

$export CFLAGS="$CFLAGS -I/usr/include/" LFLAGS="$LFLAGS -arch i386 -I/usr/local/lib"

“export”用于告诉所有子进程这些 shell 产生的环境变量,即在本例中为 CFLAGS 和 LFLAGS。

但是,如果您不“导出”,那么您设置的 ENVIRONMENT VARIABLES 将仅适用于它后面的命令:

$CFLAGS="$CFLAGS -I/usr/include/" LFLAGS="$LFLAGS -arch i386 -I/usr/local/lib" some-command
$some-command

第一个“some-cammand”知道 CFLAGS 和 LFLAGS,但第二个不知道。

顺便说一句:“$”符号表示一个单独的 shell 命令。

于 2012-08-24T01:41:54.777 回答
0

据我所知,该帖子告诉您在将源下载到相关程序后在终端中运行这两行代码:

export CFLAGS="$CFLAGS -I/usr/include/" LFLAGS="$LFLAGS -arch i386 -I/usr/local/lib"

./configure --disable-shared --cc=gcc-4.0 --enable-cross-compile --arch=i386 --target-os=darwin* --disable-yasm

当发帖人提到环境变量时,很可能他在谈论$CFLAGSand$LFLAGS变量,它们在构建脚本中非常常用,用于向编译器添加标志(gcc在这种情况下)。

于 2012-08-24T01:41:41.177 回答