编译选项-fPIC时出现Gcc错误

时间:2012-07-21 18:05:13

标签: objective-c ios gcc

我正在读一本书,但在使用此代码进行编译时出现了一个错误。

$ rm -f injection.dylib
$ export PLATFORM=/Developer/Platforms/iPhoneOS.platform
$ $PLATFORM/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 \
-c -o injection.o injection.c \
-isysroot $PLATFORM/Developer/SDKs/iPhoneOS5.0.sdk \ -fPIC
$ $PLATFORM/Developer/usr/bin/ld \ -dylib -lsystem -lobjc \
-o injection.dylib injection.o \
-syslibroot $PLATFORM/Developer/SDKs/iPhoneOS5.0.sdk/

我在这方面遇到了一些麻烦:

$PLATFORM/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 \
-c -o injection.o injection.c \
-isysroot $PLATFORM/Developer/SDKs/iPhoneOS5.0.sdk \ -fPIC

这是错误

 arm-apple-darwin10-llvm-gcc-4.2:  -fPIC: No such file or directory

我该如何解决......这意味着什么?

1 个答案:

答案 0 :(得分:2)

这意味着您错误地输入了命令行:

stieber@gatekeeper:~$ gcc \ -fPIC
gcc: error:  -fPIC: No such file or directory
gcc: fatal error: no input files
compilation terminated.

似乎\在行的中间使gcc(也可能是llvm-gcc)停止将参数视为选项并始终将它们视为文件名。

stieber@gatekeeper:~$ gcc -fPIC
gcc: fatal error: no input files
compilation terminated.

给出了预期的结果。