Я пишу DLL-приложение C ++ через интерфейс JNI для вызова Java-программы из C ++. Я использую Java8, C ++, Visual Studio 2010 professional и Windows 7. В настоящее время я настраиваю Конфигурацию как ACtive (Debug), платформу как Active (x64).
Я заметил, что если я выберу Active (x64) в качестве платформы, то никаких жалоб от VS нет. Если я изменю его на Win32, он будет жаловаться на «Не удается открыть jni.h». Если я изменю конфигурацию на релиз, платформа будет либо x64, либо Wind32, он также будет жаловаться на «Cannot open jni.h». Почему это? Кто-нибудь может объяснить?
Я могу построить решение и произвести DLL, используя настройки = отладка и платформа = x64. Затем я могу вызвать эту DLL из моих других проектов C ++ без проблем. Должен ли я изменить конфигурацию, чтобы выпустить, чтобы выпустить DLL в систему? Какова цель выпуска и отладки?
Если у кого-то есть документация по конфигурации решения, пожалуйста, поделитесь.
Спасибо.
Для include
убедитесь, что ваша конфигурация проекта указывает на каталог, где jni.h
существует. Это в основном все, что вам нужно сделать.
Что касается отладки и выпуска, то выпускная версия — это версия, которую вы должны создать, если планируете распространять свою библиотеку JNI DLL третьим лицам (например, своим клиентам). Разница в том, что в версии выпуска будут использоваться «релизные» библиотеки времени выполнения Microsoft, которые можно бесплатно распространять на любом ПК.
это не законно (согласно лицензионному соглашению Microsoft) распространять отладочные версии вашей DLL, поскольку в отладочной версии используются библиотеки времени выполнения Microsoft Debug. Эти библиотеки отладки доступны только лицам, имеющим действительную установку Visual Studio 2010.