Исключение в компиляции кода с JavaCPP? - PullRequest
2 голосов
/ 15 марта 2012

Я пытаюсь запустить собственный пример LegacyLibrary на http://code.google.com/p/javacpp/

когда я пытаюсь скомпилировать код с помощью следующей команды, упомянутой только на сайте (в основном при компиляции кода с помощью javacpp.jar), я получаю следующее исключение

D:\Java Workspace\POC\JavaCPP\bin>java -jar javacpp.jar LegacyLibrary
Generating source file: D:\Java Workspace\POC\JavaCPP\bin\jniLegacyLibrary.cpp
Building library file: D:\Java Workspace\POC\JavaCPP\bin\windows-x86\jniLegacyLibrary.dll
cl "/IC:\Program Files (x86)\Java\jdk1.6.0_03\include" "/IC:\Program Files (x86)\Java\jdk1.6.0_03\include\win32" "D:\Java Workspace\POC\JavaCPP\bin\jniLegacyLibrary.cpp" /W3 /Oi
 /O2 /EHsc /Gy /GL /MD /LD /link "/OUT:D:\Java Workspace\POC\JavaCPP\bin\windows-x86\jniLegacyLibrary.dll"
Exception in thread "main" java.io.IOException: Cannot run program "cl": CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
        at com.googlecode.javacpp.Builder.build(Builder.java:189)
        at com.googlecode.javacpp.Builder.generateAndBuild(Builder.java:234)
        at com.googlecode.javacpp.Builder.main(Builder.java:479)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
        at java.lang.ProcessImpl.start(ProcessImpl.java:30)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
        ... 3 more

какое средство от этого?

1 Ответ

2 голосов
/ 15 марта 2012

Сообщение об ошибке довольно ясно: он не находит исполняемый файл cl, который является именем компилятора Visual Studio.

Вы должны запустить эту команду из командной строки Visual Studio (есть записькак правило, в меню «Пуск», чтобы загрузить нужные переменные окружения.

...