0

我不明白为什么会这样:

"_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得到的

4

0 回答 0