Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac OS X Sierra:架构x86_64的未定义符号_C_Xcode_Macos_Clang_Linphone Sdk - Fatal编程技术网

Mac OS X Sierra:架构x86_64的未定义符号

Mac OS X Sierra:架构x86_64的未定义符号,c,xcode,macos,clang,linphone-sdk,C,Xcode,Macos,Clang,Linphone Sdk,我试图在Mac OS X Sierra中基于Linphone构建一个C源文件,但出现以下错误 这是C源文件的链接。 编辑: 我正试图用这个命令编译源代码 clang-o tt.c-I/Users/softdev/Downloads/linphone-sdk-3.11.1-mac/include/ 错误: 架构x86_64的未定义符号 ld:未找到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用) 我试图更改目标cpu,但没有成功 我的系统有XCode 8。任

我试图在Mac OS X Sierra中基于Linphone构建一个C源文件,但出现以下错误

这是C源文件的链接。

编辑:

我正试图用这个命令编译源代码

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

错误:

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

我试图更改目标cpu,但没有成功

我的系统有XCode 8。任何有关这方面的帮助都将不胜感激

编辑:完成输出

Undefined symbols for architecture x86_64: "_linphone_call_get_state", referenced from: _main in tt-ca2045.o "_linphone_call_ref", referenced from: _main in tt-ca2045.o "_linphone_call_unref", referenced from: _main in tt-ca2045.o "_linphone_core_destroy", referenced from: _main in tt-ca2045.o "_linphone_core_invite", referenced from: _main in tt-ca2045.o "_linphone_core_iterate", referenced from: _main in tt-ca2045.o "_linphone_core_new", referenced from: _main in tt-ca2045.o "_linphone_core_terminate_call", referenced from: _main in tt-ca2045.o "_ms_usleep", referenced from: _main in tt-ca2045.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 架构x86_64的未定义符号: “\u linphone\u call\u get\u state”,引用自: _tt-ca2045.o中的干管 “\u linphone\u call\u ref”,引用自: _tt-ca2045.o中的干管 “\u linphone\u call\u unref”,引用自: _tt-ca2045.o中的干管 “\u linphone\u core\u destroy”,引用自: _tt-ca2045.o中的干管 “\u linphone\u core\u invite”,引用自: _tt-ca2045.o中的干管 “\u linphone\u core\u iterate”,引用自: _tt-ca2045.o中的干管 “\u linphone\u core\u new”,引用自: _tt-ca2045.o中的干管 “\u linphone\u core\u terminate\u call”,引用自: _tt-ca2045.o中的干管 “_ms_usleep”,引用自: _tt-ca2045.o中的干管 ld:找不到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为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
指定要包括哪些动态库(去掉
lib
前缀和
dylib
后缀)

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

#include <unistd.h>
#包括

signal.h

之后,它与目标或CPU无关。这是关于你没有链接到你需要链接的东西。链接器会告诉你缺少什么符号,你为什么不告诉我们?请编辑您的问题以包含完整的错误输出。您从哪里获取liblinphone库?您提到的文档可以追溯到2010年(可能在Xcode中甚至可以选择
x86\u 64
之前)。我确实在@Someprogrammerdude上看到了liblinphone的更新版本,我已经编辑了我的问题。@MichaelDautermann,我已经从下面的链接下载了二进制文件。我不想用电话。我只想在我的Mac定制软件中使用底层liblinphone库,这样你就不会真正链接到你想要使用的库了?然后我假设未定义的符号都是该库中的函数(因为您还没有包含完整的错误输出)?您还需要链接到实际的库。在库的安装中是否有以
lib
开头,以
.a
结尾的文件?在构建时传递该文件的完整路径。谢谢,它起作用了,但我现在收到了ortp错误。我也试过使用-lortp。错误为>“连接中的ortp错误:没有到主机的路由”。迈克尔,你知道吗?现在你有东西要编译了,这听起来像是一个全新的问题。仔细查看您指向的源代码。我在那里没有看到实际的主机名(例如“stackoverflow.com”或“apple.com”)。我正在使用教程中提到的演示SIPURI。