Я создаю плагин для браузера, который обрабатывает ввод данных с помощью джойстика для всех браузеров и платформ.Он работает на Linux и Windows, но у меня возникают проблемы с подключением к библиотеке OIS в XCode.
Я создал OIS и получил libOIS.a и OIS.dylib и связываю их с CMake следующим образом:
find_library(CARBON NAMES Carbon)
find_library(IOKIT NAMES IOKit)
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
${CARBON}
${IOKIT}
"${CMAKE_CURRENT_SOURCE_DIR}/lib/libOIS.a"
)
Но я все еще получаю ошибки каждый раз, когда пытаюсь использовать классы OIS из своего кода и собирать проект:
ld warning: in /Users/Lana/Documents/STRd6/boomsticks/Boomstick/lib/libOIS.a, missing required architecture x86_64 in file
Undefined symbols:
"OIS::InputManager::destroyInputSystem(OIS::InputManager*)", referenced from:
JoysticksHandler::~JoysticksHandler()in Joysticks.o
JoysticksHandler::~JoysticksHandler()in Joysticks.o
"OIS::InputManager::createInputSystem(std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&)", referenced from:
JoysticksHandler::initialize() in Joysticks.o
"OIS::InputManager::enableAddOnFactory(OIS::InputManager::AddOnFactories)", referenced from:
JoysticksHandler::initialize() in Joysticks.o
"OIS::InputManager::getNumberOfDevices(OIS::Type)", referenced from:
JoysticksHandler::initialize() in Joysticks.o
"typeinfo for OIS::Exception", referenced from:
GCC_except_table44 in Joysticks.o
"OIS::InputManager::createInputObject(OIS::Type, bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
JoysticksHandler::initialize() in Joysticks.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Я ничего не знаю о XCode, но мне удалось получить такое же построение кода с очень похожим процессом в Linux и Windows.