Я получил его на работу. Конечно, gcc требует некоторых дополнительных параметров для связи с модулями ASIHTTP. Вот что я закончил:
-std=c99 -framework SystemConfiguration -framework CoreServices -framework Foundation -lz -I/path/to/asi-header-files -filelist /path/to/list-of-asi-compiled-modules
Я полагаю, что ваш код просто включал пути к заголовочным файлам ASIHTTPRequest.h и т. Д. ... если вы используете явные пути там, вам не нужен ключ -I выше. У gcc должна быть скомпилированная версия кода из ASIHTTPRequest.m и друзья для связи с ним. Один из способов сделать это - скомпилировать проект Mac, который поставляется вместе с библиотекой. Это создаст файлы .o в одном из тех глубоко закопанных каталогов «DerivedData», которые Xcode любит создавать. Тот, который он сделал для меня:
~/Library/Developer/Xcode/DerivedData/Mac-flsjygxmngizhzfwnfgcakejmwkx/Build/Intermediates/Mac.build/Debug/Mac.build/Objects-normal/x86_64
(Мне кажется, бит «Mac-flsjygxmngizhzfwnfgcakejmwkx» будет отличаться для вас.) В этом каталоге есть куча файлов .o и файл Mac.LinkFileList. Этот файл вы бы указали для параметра -filelist для gcc. Вам нужно будет удалить ссылки на файлы main.o, AppDelegate.o и ASIWebPageRequest.o, чтобы на шаге ссылки не возникало повторяющихся ошибок символов.
В дополнение к заголовку ASIHTTPRequest и файлам .o gcc будет ожидать связи с SystemConfiguration, платформами CoreServices и библиотекой zlib, поскольку ASIHTTPRequest имеет эти зависимости.
Если вы выполняете много тестов с этой библиотекой, я бы рекомендовал продублировать определение языка "Objective-C" (в разделе "Предпочтения") как "Objective-C с ASIHTTPRequest" или что-то в этом роде. Затем вы можете настроить флаги компиляции для запуска с ASIHTTPRequest без необходимости делать это для всего кода Objective-C, который вы запускаете.
Вы также можете скопировать файлы .o и файл «LinkFileList» в более постоянное место, на случай, если XCode уберет построившее дерево или что-то в этом роде.