Застрял с twitcurl

#c #twitter #openframeworks

#c #Twitter #openframeworks

Вопрос:

этот вопрос немного менялся, поскольку я узнал кое-что о g о системах unix (извините, если я кого-то запутал).

Для проекта, который я в настоящее время пытаюсь завершить, я хотел бы запустить twitcurl с Xcode и openFrameworks. Если кому-то удалось это сделать, пожалуйста, поделитесь со мной этим тайным подвигом.

Ниже приведены некоторые из вещей, на которых я застрял:

Повторяя некоторые инструкции из их вики, в которых говорится:

  • загрузите исходный код библиотеки
  • создайте библиотеку twitcurl, используя Visual C или make (у них также есть cmake в их).
  • Включите заголовки twitcurl.h и curl в свое приложение Twitter и ссылку на twitcurl.lib и libcurl.lib/libcurl.dll .

Это кажется достаточно простым, но когда я создаю библиотеку, ее нет twitcurl.lib . Создается другой файл libtwit.a , который, я полагаю, должен быть тем, что нужно OSX (поскольку установка помещает его usr/local/ вместе с заголовками). Однако тогда, если я попытаюсь включить twitcurl.h в заголовок и создать объект twitCurl, я получу больше неопределенных символов

 Undefined symbols for architecture i386:
"twitCurl::~twitCurl()", referenced from:
  testApp::setup()     in testApp.o
"twitCurl::twitCurl()", referenced from:
  testApp::setup()     in testApp.o
ld: symbol(s) not found for architecture i386
  

Теперь я предполагаю, что twitcurl предназначен для 64-битной версии (я пытался добавить CFLAGS =-m32, но это не удается), и, насколько мне известно, Openframeworks в настоящее время имеет только 32-разрядную версию. Это означает, что twitcurl может быть не для меня, но опять же, если кто-нибудь знает, как, пожалуйста, дайте мне знать!

Заранее спасибо.

Комментарии:

1. Всего несколько быстрых советов по написанию вопросов: Вы должны перейти к актуальному вопросу как можно быстрее (не в пяти абзацах). Вы должны включать фактические, дословные сообщения об ошибках, которые вы получили, а не их перефразирование. Наконец, вы не должны извиняться за то, что задали вопрос: в конце концов, это сайт вопросов и ответов!

2. Привет, спасибо за совет, я просто изменил его. Вчера вечером задал вопрос в каком-то безумном состоянии ума, отсюда и плохой вопрос. Но, эй, еще раз спасибо.

3. Как это происходит с ошибкой -m32 ?

Ответ №1:

Вероятно, вам не мешало бы перекомпилировать twitcurl, последний раз, когда я смотрел (3 месяца назад), он был скомпилирован с помощью VC6, который имеет свой собственный способ искажения символов C , поэтому библиотека не будет корректно связываться с g .

затем вы могли бы просто импортировать его напрямую, а затем не нужно беспокоиться о ссылках на библиотеки, однако было бы неплохо протестировать небольшое демонстрационное приложение перед интеграцией в уже созданную систему, чтобы вы знали, на вашей стороне ошибка или где-то еще.

Кроме того, когда дело доходит до такого типа проблем, точные ошибки компилятора более полезны, чем просто описание проблемы.

Комментарии:

1. Хм, что ты там за голову поднял. Я думаю, что это был бы лучший подход, и с тех пор я перенес все соответствующие файлы c в новый каталог для повторной компиляции. Я переформулировал вопрос, который, надеюсь, теперь будет иметь больше смысла.

Ответ №2:

Сообщение об ошибке, которое вы опубликовали, — это длинный способ компоновщика сообщить вам, что он ищет определение curl_easy_setopt функции, которая является частью libcurl. Добавление -lcurl в вашу g строку должно исправить это (указав компоновщику ссылку в libcurl).

Однако twitcurl поставляется с Makefile, который уже делает это. Кроме того, если вы пытаетесь создать там общую библиотеку, вы делаете это неправильно…

Комментарии:

1. Еще раз здравствуйте, спасибо, что прояснили это для меня (я действительно понятия не имею, что происходит при попытке использовать g , я только делал сценарии более высокого уровня). Итак, я снова переформатировал свой вопрос, но более или менее понял, что twitcurl — это не вариант. Спасибо за ваше время, чувак.

Ответ №3: