Застрял с twitcurl - PullRequest
       24

Застрял с twitcurl

1 голос
/ 29 сентября 2011

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

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

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

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

  • скачать исходный код библиотеки
  • сборка библиотеки twitcurl с использованием Visual C ++ или make (они тоже cmake).
  • Включите twitcurl.h и заголовки curl в ваше приложение для твиттера и создайте ссылку на 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 может быть не вариант для меня, но опять же, если кто-нибудь знает, как, пожалуйста, дайте мне знать!

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

Ответы [ 3 ]

0 голосов
/ 30 сентября 2011

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

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

0 голосов
/ 03 октября 2011

Может быть, вы можете попробовать ofxTwitter, аддон openFrameworks для твиттера, чтобы получить ваш твиттер функционал.получите это здесь: http://forum.openframeworks.cc/index.php/topic,2750.0.html

0 голосов
/ 29 сентября 2011

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

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

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

...