Цель
Я пытаюсь создать простейшее приложение Theos, работающее как HTTP-сервер.
У меня нет конкретных предпочтений относительно того, какие библиотеки использовать, но я старался лучше всего использовать HTTPKit на этот раз. Буду признателен за любые комментарии и/или ссылки о том, как создавать такие приложения.
Вопрос в двух словах
Не удалось использовать HTTPKit в проекте приложения Theos. Получение «Неопределенных символов» при использовании любого из классов HTTPKit.
Личные мысли
Я уверен, что ошибка "Неопределенные символы" вызвана неправильной связью. И я почти уверен, что он должен что-то делать с папкой зависимостей, так как я понятия не имею, куда его поместить и как связать.
Не обязательно использовать HTTPKit, но у меня возникают те же проблемы при попытке реализовать CocoaHTTPServer в приложении Theos.
Я также буду признателен за любые комментарии о том, что я делаю неправильно при установке Theos и создании приложений.
Как я установил и настроил Theos
- Установил Theos с помощью следующего руководства
- #P7# <блочная цитата> #P8# блочная цитата>
- #P9# <блочная цитата> #P10# блочная цитата>
Делаем простой проект
1.Создал приложение Theos с использованием сетевой карты.
cd ~
$THEOS/bin/nic.pl
NIC 2.0 - New Instance Creator
------------------------------
[1.] iphone/application
[2.] iphone/library
[3.] iphone/preference_bundle
[4.] iphone/tool
[5.] iphone/tweak
Choose a Template (required): 1
Project Name (required): name
Package Name [com.yourcompany.name]:
Author/Maintainer Name [***]:
Instantiating iphone/application in name/...
Done.
2. Поместите весь репозиторий HTTPKit во вновь созданную папку.
~/имя/HTTPSources
3.Добавил следующую строку
name_FILES += $(foreach ext, c cpp m mm x xm xi xmi, $(шаблон HTTPSources/*.$(ext)))
в Makefile, чтобы он выглядел как этот
4. Поместите все файлы из здесь в Вновь созданный
$THEOS/include/HTTPKit
5.Теперь папка $(THEOS) выглядит так: этим
6.Вызов make теперь не приводит к фатальным ошибкам (кроме команды ldid, которая, я думаю, не является жизненно важной), приводящей к
~/name/theos/makefiles/targets/Darwin/iphone.mk:41: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
Making all for application name...
Copying resource directories into the application wrapper...
Compiling main.m...
Compiling nameApplication.mm...
Compiling RootViewController.mm...
Linking application name...
Stripping name...
Signing name...
/bin/sh: ldid: command not found
Пытаюсь использовать HTTPKit, получаю ошибки
1.Добавлен импорт HTTPKit и несколько простых строк из примера< /а>сильный>
HTTPServer * serv = [[HTTPServer alloc] init];
[serv handleGET:@"/hello/*"
with:^(HTTPConnection *connection, NSString *name) {
return [NSString stringWithFormat:@"Hello %@!", name];
}];
в ~/name/main.m, чтобы он выглядел как этот
2. Теперь вызов make вызывает ошибку «Неопределенные символы для архитектуры armv7».
~/name/theos/makefiles/targets/Darwin/iphone.mk:41: Deploying to iOS 3.0 while building for 6.0 will generate armv7-only binaries.
Making all for application name...
Copying resource directories into the application wrapper...
Compiling main.m...
Linking application name...
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_HTTPServer", referenced from:
objc-class-ref in main.m.f3071598.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [obj/name.app/name.ba964c90.unsigned] Error 1
make[1]: *** [internal-application-all_] Error 2
make: *** [name.all.application.variables] Error 2