我不明白为什么会这样:
"_NewSpeechChannel", referenced from:
_main in ccOIJZkQ.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
简单的代码是:
#include<stdio.h>
#include<ApplicationServices/ApplicationServices.h>
int main(int argc, char **argv, char **envp, char **apple) {
SpeechChannel speechchannel;
NewSpeechChannel( NULL, &speechchannel );
}
编译步骤:
使用内置规范。
目标:i686-apple-darwin10 配置:/var/tmp/gcc/gcc-5666.3~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/ usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-目录=/include/c++/4.2.1
线程模型:posix
gcc 版本 4.2.1(Apple Inc. build 5666)(点 3)
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/cc1 -quiet -v -imultilib x86_64 -D_ DYNAMIC _ first.c -fPIC -quiet -dumpbase first.c -mmacosx-version-min=10.6。 8 -m64 -mtune=core2 -auxbase first -version -o /var/folders/HQ/HQEeBRxZFdOTLnWFF1cxDU+++TI/-Tmp-//ccyQukF0.s
忽略不存在的目录“/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../../i686-apple-darwin10/include”
#include "..." 搜索从这里开始:
#include <...> 搜索从这里开始:
/usr/local/包括
/usr/lib/gcc/i686-apple-darwin10/4.2.1/include
/usr/包括
/System/Library/Frameworks(框架目录)
/Library/Frameworks(框架目录)
搜索列表结束。
GNU C 版本 4.2.1 (Apple Inc. build 5666) (dot 3) (i686-apple-darwin10)
由 GNU C 版本 4.2.1 (Apple Inc. build 5666) (dot 3) 编译。
GGC 启发式:--param ggc-min-expand=150 --param ggc-min-heapsize=131072
编译器可执行校验和:fdbb4a71861779b5591b0cf47736cbe7
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/as -arch x86_64 -force_cpusubtype_ALL -o /var/folders/HQ/HQEeBRxZFdOTLnWFF1cxDU+++TI/-Tmp-//ccRRVBTR.o /var/folders /HQ/HQEeBRxZFdOTLnWFF1cxDU+++TI/-Tmp-//ccyQukF0.s
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch x86_64 -macosx_version_min 10.6.8 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib /gcc/i686-apple-darwin10/4.2.1/x86_64 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64 -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10 /4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/folders/HQ/HQEeBRxZFdOTLnWFF1cxDU+++TI/-Tmp-//ccRRVBTR.o -lSystem -lgcc -lSystem
未定义的符号:
“_NewSpeechChannel”,引用自:
ccRRVBTR.o 中的 _main
ld:未找到符号
collect2: ld 返回 1 个退出状态
我使用gcc -v得到的