2015-04-17 2 views
0

Я разрабатываю приложение в java для общения с симулятором X-Plane, используя x-plane sdk, он имеет его в C. Я загрузил SDK и состоял из .libm .h и .cpp файлы.JNI load library

Я сделал поиск в Интернете, чтобы узнать, как загрузить эти библиотеки в моих программах, и я нашел интерфейс Java Native, поэтому я начал читать об этом, ища примеры, соответствующие моим случаям, но я только нашел в том же случае, как создать библиотеку c.

Моя проблема в том, что у меня уже есть файлы заголовков и библиотека, а не DLL.

Как я могу сделать нагрузку без себя тары библиотеки

Я знаю, что problably является очень простым способом, но я не знаю, и я очень ценю усилие, чтобы ответить мне.

+1

Похоже, вам нужно компилировать исходный код СРР. –

+0

Вам нужно написать обертки JNI для этого C lib. – douyw

ответ

0

Если вы не можете перекомпилировать исходный код в виде динамической библиотеки (например, .so файл) другой хак вы можете сделать, это сделать простую .c оболочку, которая статически связывает в статической библиотеке и обобщать, что в динамическую библиотеку , Обертка может «переадресовывать» требуемые вызовы в статическую библиотеку, чтобы гарантировать, что вещи, которые вам нужны из статической библиотеки, включены в двоичный файл.

Here является примером этого (где файлы .o в командной строке этого ответа будут заменены вашей оберткой).

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