Статическая библиотека для Mac OS

Я написал статическую библиотеку C ++ для Mac OS. Это для приложения, запущенного с помощью смарт-карты. Поэтому он использовал PCSC.framework. Во время компиляции mylib проблем нет, и создается статическая библиотека. Я создал приложение, которое было инструментом командной строки. Я добавил свою статическую библиотеку в приложение. Когда я создал экземпляр из одного класса библиотеки и вызвал метод экземпляра, я допустил ошибки в неопределенных символах для архитектуры x86_64: SCardConnect, SCardEstablishContext и другие функции pcsc

Чтобы решить эти ошибки, я попробовал следующее;

Я перестроил статическую библиотеку после смены архитектуры 32-битной Intel на 64-битную. Затем я также перестроил тестовое приложение. Но ошибки были продолжены аналогично. Просто отличия от ранее неизвестных символов для архитектуры i386.

У меня есть PCSC для обеих архитектур x86_64 и i386. libccid был для i386. я правильно запускаю pcsctest.

Пожалуйста, дайте мне знать, как я могу решить это.

0

Решение

Сборка статической библиотеки не связывает и не разрешает все символы фреймворка. Взгляните на следующие похожие вопросы:

Некоторые альтернативы для рассмотрения являются:

  • Включая PCSC.framework в качестве каркасной зависимости вашего
    приложение, как вы сделали с вашей библиотекой.
  • Создание фреймворка или
    динамическая библиотека вместо статической библиотеки.
  • Вызов dlopen / dlsym на PCSC.framework.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]