我正在尝试在 Mac OS X Sierra 中构建基于 Linphone 的 C 源文件,但出现以下错误。
这是 C 源文件的链接。
http://www.linphone.org/docs/liblinphone/group__basic__call__tutorials.html
编辑:
我正在尝试使用此命令编译源代码
错误:
我曾尝试更改目标 cpu 但没有奏效。
我的系统有 XCode 8。对此的任何帮助将不胜感激。
编辑:完成输出
体系结构 x86_64 的 undefined symbol :
“_linphone_call_get_state”,引用自:
_main 在 tt-ca2045.o
“_linphone_call_ref”,引用自:
_main 在 tt-ca2045.o
“_linphone_call_unref”,引用自:
_main 在 tt-ca2045.o
“_linphone_core_destroy”,引用自:
_main 在 tt-ca2045.o
“_linphone_core_invite”,引用自:
_main 在 tt-ca2045.o
“_linphone_core_iterate”,引用自:
_main 在 tt-ca2045.o
“_linphone_core_new”,引用自:
_main 在 tt-ca2045.o
“_linphone_core_terminate_call”,引用自:
_main 在 tt-ca2045.o
“_ms_usleep”,引用自:
_main 在 tt-ca2045.o
ld:找不到架构 x86_64 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
最佳答案
我得到了使用这个编译的示例代码:
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
之后关于c - Mac OS X Sierra : Undefined symbols for architecture x86_64,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43070123/