Mac OS X Sierra: неопределенные символы для архитектуры x86_64
Я пытаюсь создать исходный файл C на основе Linphone в Mac OS X Sierra, но получаю следующую ошибку.
Это ссылка на исходный файл C. http://www.linphone.org/docs/liblinphone/group__basic__call__tutorials.html
Отредактировано:
Я пытаюсь скомпилировать исходный код с помощью этой команды
clang -o tt tt.c -I/ Пользователи /softdev/ Загрузки /linphone-sdk-3.11.1-mac/include/
Ошибка:
Неопределенные символы для архитектуры x86_64
ld: символы не найдены для архитектуры x86_64
clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
Я пытался изменить целевой процессор, но не сработал.
Моя система имеет XCode 8. Любая помощь по этому поводу будет оценена.
Отредактировано: полный вывод
Неопределенные символы для архитектуры x86_64: "_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: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
1 ответ
Я получил пример кода для компиляции с использованием этого:
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
указывает, какие dlib-файлы вы хотите включить (удалить lib
префикс и dylib
суффикс).
Наконец, вам нужно добавить пропущенную строку в пример кода, на который вы указали. Добавлять:
#include <unistd.h>
после signal.h