Можете ли вы принудительно связать ссылочный код из статической библиотеки? - PullRequest
3 голосов
/ 13 июля 2010

Вот сценарий - я создал собственный подкласс NSView, и реализация находится в статической библиотеке. На класс никогда не ссылаются из конечного исполняемого файла, только из XML-файла Interface Builder. Поскольку на него нет ссылок, он не включается во время ссылки, и в результате класс не может быть найден во время выполнения.

Есть ли способ принудительно связать его, другую ссылку спасибо динамически или скомпилировать класс непосредственно в сам исполняемый файл?

Ответы [ 3 ]

1 голос
/ 13 июля 2010

Вы можете использовать метод класса class для него, который в основном будет неактивным, но будет ссылаться на него из вашего кода.

int main(int argc, const char** argv)
{
    [MyClass class]; // There you are! MyClass is now referenced from your code.

    /* ... rest of your main function ... */
}
0 голосов
/ 14 июля 2010

Попытка использовать флаги -all_load или -force_load. Смотрите комментарии в следующем посте:

Что делает флаг компоновщика -all_load?

0 голосов
/ 13 июля 2010

Как насчет создания указателя на класс-нарушитель в исполняемом файле?Это должно заставить это и не потребует от вас выделения памяти и т. Д.

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