Как вызывать методы внешних .h файлов в iphone - PullRequest
1 голос
/ 18 марта 2009

на все

В моей игре для iphone я хочу добавить внешние файлы .h и .a. Я добавляю их, используя опцию add project, указанную в Xcode. Он добавлен, но я хочу вызвать методы, указанные в заголовочных файлах. В соответствии с данными нам инструкциями мы должны вызвать один метод, который объявлен во внешнем заголовочном файле. Мы должны вызвать этот метод внутри метода applicationDidFinishLaunching в AppDelegate. Но во время компиляции выдает одну ошибку, на которую ссылаются: и символ не найден. Я не понимаю, как вызывать этот метод и как получить ссылку на метод.

Я отправляю одну ссылку, пожалуйста, посмотрите. Идет та же проблема с моим приложением.

http://forums.macrumors.com/showthread.php?t=443437

На этом снимке экрана даны три снимка, сделанные 24 января 2009 г., 07:37. Появляется та же ошибка для моих методов, но мой код в Какао с целью-c, а не в ruby.

Если кто-нибудь знает решение, пожалуйста, ответьте мне как можно скорее.

Ответы [ 3 ]

1 голос
/ 18 марта 2009

.h недостаточно. Вам также нужна реализация, либо исходный код, либо скомпилированный каркас.

0 голосов
/ 22 октября 2009

У вас есть два файла

  • Заголовочный файл * .h, который описывает классы и функции, доступные в вашей сторонней библиотеке
  • A * .a файл статической библиотеки, в котором хранится предварительно скомпилированный код для функций, описанных в файле * .h.

Предполагая, что вы достигли стадии, на которой вы можете #include или #import "xyz.h" и скомпилировать свое приложение, недостающий бит связывает ваш исполняемый файл с файлом * .a.

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

Следует проверить, что ваш * .a файл правильно настроен в вашем проекте и передан компоновщику. Один из способов сделать это - развернуть раздел «Цели» главного окна XCode. Если вы углубитесь в раздел, представляющий ваше приложение, вы должны увидеть подузел, помеченный «Связать двоичные файлы с библиотеками». Ваш файл * .a должен быть указан в списке, если его невозможно добавить, просто перетащите файл в этот раздел.

0 голосов
/ 15 июля 2009

У вас есть доступ к самому исходному коду? Попробуйте перетащить файлы .h и .m / .c из каталога framework прямо в ваш проект. Это немного грязно, но я думаю, что это решит вашу проблему, основываясь на сообщениях об ошибках, которые вы получаете. Вы можете поместить их все в группу, чтобы ваш проект не выглядел так многолюдно после того, как вы перетащите их, если хотите.

...