2009-10-24 4 views
0

У меня есть цель, которая использует классы из статической библиотеки (файл .a).XCode: файл не найден?

У меня есть статическая библиотека в XCode, и она требуется для цели и находится в разделе «Связанные библиотеки».

В коде я использую класс из статической библиотеки, как:

#include "class_from_static.h" 

Но XCode жалуется, что файл «class_from_static.h» не найден. Разве это не должно найти?

Я проверил, что статическая библиотека действительно содержит этот класс.

В чем проблема?

ответ

1

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

2

Статические библиотеки не похожи на рамки; они содержат только код, а не заголовки. Вам нужно добавить папку, содержащую class_from_static.h, в пути поиска заголовка пользователя или просто добавить заголовочный файл непосредственно в проект. Если вы дважды щелкните этот параметр, вы можете перетащить папку в список.

1

Попробуйте также с родительской папкой. Например, если предположить class_from_static.h находится в каталоге с именем Static (который также должен быть именем статической библиотеки), вы можете попробовать:

#include <Static/class_from_static.h> 

Кроме того, не забудьте добавить, чтобы ваш проект «Header Search Paths» под «Build Settings», путь к каталогу (относительно вашего корня проекта), который содержит каталог Static (который также можно назвать Static). НАПРИМЕР, Vendor/Static, который будет содержать другой каталог под названием Static:

ProjectDir 
|- Vendor 
    `- Static 
     `- Static 
     `- class_from_static.h 

Это как SSToolkit структурирована.

Смежные вопросы