Java создать .dll файл - PullRequest
       7

Java создать .dll файл

1 голос
/ 07 июня 2011

Я хочу создать .dll с Java jni.Мой файл .cpp ссылается на внешний .lib для .dll.Когда я компилирую этот файл (с помощью команды cl), я получаю ошибку:

   LNK2019: unresolved external symbol "__declspec(dllimport) unsigned long __stdcall ConnectDevice(char const *, unsigned      long)" 
   (__imp_?ConnectDevice@@YGKPBDK@Z)... fatal error LNK1120: 1 unresolved externals

Могу ли я создать .dll из .cpp, который использует другой .lib & .dll?

1 Ответ

2 голосов
/ 07 июня 2011

Да, вы можете. Вы можете напрямую связаться с ним, поместив его в один из ваших файлов .c / .cpp:

#pragma comment(lib,"libname")

или указание lib в командной строке (необычно для MSVC) или в параметрах IDE.

Что еще сложнее - убедиться, что ваша DLL найдена. Если обе библиотеки DLL хранятся в одной папке и SetDllDirectory () не используется (необычно), его следует найти.

Существуют такие инструменты, как Dependancy Walker (зависимость.exe), которые помогают решать такие проблемы. Или Process Explorer (procxp) [пожалуйста, Google], который может показать для каждого процесса, какая DLL загружена (ctrl + d там).

...