Как заставить IKVM работать в Visual Studio 2008?
-
09-06-2019 - |
Вопрос
Я скачал исходные тексты IKVM (http://www.ikvm.net/) из http://sourceforge.net/cvs/?group_id=69637
Теперь я пытаюсь заставить его собраться в Visual Studio 2008 и застрял.Кто-нибудь знает документацию о том, как создать эту штуку, или мог бы даже дать мне указания?
Я попытался открыть ikvm8.sln, который открывает все проекты, но попытка создать решение приводит к куче ошибок "не удалось найти тип или пространство имен".
Как вы, наверное, можете догадаться, я не эксперт по Visual Studio, а скорее привык работать с Java в Eclipse.
Итак, опять же, я ищу либо то, либо другое:пошаговые инструкции или ссылка на документацию о том, как создать IKVM в Visual Studio.
Дайте мне знать, если вам понадобится дополнительная информация.Спасибо за любую помощь!
Редактировать: Я также пробовал использовать руководство "MsBuild.exe IKVM8.sln", но также получаю кучу:
JniInterface.cs(30,12): error CS0234: The type or namespace name 'Internal' does not exist in the namespace 'IKVM' (a
re you missing an assembly reference?)
JniInterface.cs(175,38): error CS0246: The type or namespace name 'ClassLoaderWrapper' could not be found (are you mi
ssing a using directive or an assembly reference?)
JniInterface.cs(175,13): error CS0246: The type or namespace name 'ClassLoaderWrapper' could not be found (are you mi
ssing a using directive or an assembly reference?)
Правка №2:Я заметил файл "ikvm.build", поэтому скачал и запустил nant в папке, что позволило мне продвинуться еще на шаг.Несколько вещей начинают успешно собираться, к сожалению, теперь я получаю следующую ошибку:
ikvm-родной для win32:
[mkdir] Creating directory 'C:\Documents and Settings\...\My Documents\ikvm\ikvm\native\Release'.
[cl] Compiling 2 files to 'C:\Documents and Settings\...\My Documents\ikvm\ikvm\native\Release'.
BUILD FAILED
C:\Documents and Settings\...\My Documents\ikvm\ikvm\native\native.build(17,10):
'cl' failed to start.
The system cannot find the file specified
Total time: 0.2 seconds.
Правка №3:Хорошо, решил это, поставив cl.exe
в пути, однако, по-прежнему получаю другие ошибки. Примечание. это все для создания его на консоли, напримерс Нантом.Неужели нет способа заставить его встроить в Visual Studio?Это было бы печально...
Правка №4:Следующим шагом была установка GNU classpath 0.95, и теперь, похоже, мне нужна конкретная установка OpenJDK...Linux AMD64?!
[exec] javac: file not found: ..\..\openjdk6-b12\control\build\linux-amd64\gensrc\com\sun\accessibility\internal\resources\accessibility.java
[exec] Usage: javac <options> <source files>
[exec] use -help for a list of possible options
Правка №5:Получил ответ от автора.Смотрите ниже или по адресу http://weblog.ikvm.net/CommentView.aspx?guid=7e91b51d-6f84-4485-b61f-ea9e068a5fcf Давайте посмотрим, сработает ли это...
Правка №6 Как я и опасался, следующая проблема:"не удается открыть windows.h", см. Отдельный вопрос здесь.
Окончательное редактирование:Найдено Решение! После получения папок Platform SDK в переменных среды Lib и Path решение, которое я описал ниже, сработало для меня.
Решение 2
Хорошо, только что получил следующий ответ от автора: http://weblog.ikvm.net/CommentView.aspx?guid=7e91b51d-6f84-4485-b61f-ea9e068a5fcf
Если вы хотите строить на основе резюме, действуйте по своему усмотрению.Однако вам будет проще создавать исходные тексты, если вы используете официальный релиз.
Если вы скачаете ikvm-0.36.0.11.zip, classpath-0.95-stripped.zip и openjdk-b13-stripped.zip из SourceForge (последние два находятся в выпуске ikvm 0.36.0.5), у вас будут все необходимые исходные тексты.
Теперь вам нужно будет открыть командную строку Visual Studio 2008 (т. е.тот, у которого есть cl.exe и peverify в пути).
Затем в корневом каталоге ikvm выполните "nant clean", за которым следует "nant".На этом должен строиться весь проект.После этого вы сможете выполнять сборку в Visual Studio (только для отладки), но вам может потребоваться восстановить ссылки на сборки в проектах (если у вас не установлена ikvm в c:\ikvm).
С уважением, Йерун
Редактировать:После того, как я убедился, что папки Platform SDK находятся в переменных окружения Path и Lib, у меня это сработало.Спасибо, Джерун!
Другие советы
Я не знаю, поможет ли это вам, но можете ли вы попробовать выполнить сборку из командной строки?
msbuild ________
Я думаю, что именно так я создал приложение из-за тех же проблем.
Вот как я собрал IKVM 8.1.5717.0 из исходного кода.Visual Studio не требуется.
Создайте папку:c:\ikvm\
Добавьте указанную выше папку в PATH (например,установите PATH=%ПУТЬ%;c:\ikvm и оставьте командную строку открытой на потом).
Скачать:ikvmsrc-8.1.5717.0.zip (http://www.frijters.net/ikvmsrc-8.1.5717.0.zip)
Распакуйте архив и поместите папку "ikvm-8.1.5717.0" в c:\ikvm\
Скачать:openjdk-8u45-b14-stripped.zip (http://www.frijters.net/openjdk-8u45-b14-stripped.zip)
Распакуйте архив и поместите папку "openjdk-8u45-b14" в c:\ikvm\
Скачать:Java 8 SDK (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
Установите и убедитесь, что местоположение добавлено в path
Скачать:NAnt 0.92 (https://sourceforge.net/projects/nant/files/nant/0.92/nant-0.92-bin.zip/download)
Распакуйте архив и поместите папку "nant-0.92" в c:\ikvm\
ICSharpCode.SharpZipLib.dll (http://www.icsharpcode.net/opensource/sharpziplib/Download.aspx)
Поместите "ICSharpCode.SharpZipLib.dll" в C:\ikvm\ikvm-8.1.5717.0\bin\
Откройте следующий файл в текстовом редакторе и измените номер версии:C:\ikvm\ikvm-8.1.5717.0\CommonAssemblyInfo.cs.in
Используя командную строку из предыдущей версии, компакт-диск для:C:\ikvm\ikvm-8.1.5717.0\ikvm\
Бежать:.. ant-0.92\bin Ant.exe
В случае успеха все двоичные файлы будут в:C:\ikvm\ikvm-8.1.5717.0\bin