4

我正在尝试在 Mac OS X Sierra 中构建基于 Linphone 的 C 源文件,但出现以下错误。

这是 C 源文件的链接。 http://www.linphone.org/docs/liblinphone/group__basic__call__tutorials.html

编辑:

我正在尝试使用此命令编译源代码

clang -o tt tt.c -I/Users/softdev/Downloads/linphone-sdk-3.11.1-mac/include/

错误:

体系结构 x86_64 ld 的未定义符号
:未找到体系结构 x86_64
clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我试图改变目标cpu但没有奏效。

我的系统有 XCode 8。对此的任何帮助将不胜感激。

编辑:完成输出

架构 x86_64 的未定义符号:
  “_linphone_call_get_state”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_call_ref”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_call_unref”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_core_destroy”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_core_invite”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_core_iterate”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_core_new”,引用自:
      tt-ca2045.o 中的 _main
  “_linphone_core_terminate_call”,引用自:
      tt-ca2045.o 中的 _main
  “_ms_usleep”,引用自:
      tt-ca2045.o 中的 _main
ld:未找到架构 x86_64 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
4

1 回答 1

4

我得到了使用这个编译的示例代码:

clang -o hello hello.c -Ilinphone-sdk-3/include -Llinphone-sdk-3/lib -llinphone -lmediastreamer_base

Clang 的-I参数指向头文件 (.h) 所在的位置

至于我的补充,-L指定clang 到达 lib 文件所在位置的路径。在你的情况下,它可能住在-L/Users/softdev/Downloads/linphone-sdk-3.11.1-mac/lib

然后-l指定要包含的 dylib(去掉lib前缀和dylib后缀)。

最后,您需要在您指向的示例代码中添加一个缺失的行。添加:

#include <unistd.h>

signal.h

于 2017-03-28T13:20:25.290 回答