Я пытаюсь использовать этот Пример в моем приложении Java, которое построено с использованием Maven.
pom.xml включает
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>javacpp</id>
<phase>process-classes</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument> <argument>/home/JCuda/javacpp.jar</argument>
<argument>-classpath</argument> <argument>${project.build.outputDirectory}:/home/JCuda/jcuda-0.5.0.jar:/home/JCuda/jcusparse-0.5.0.jar</argument>
<argument>-d</argument> <argument>${project.build.outputDirectory}/lib/</argument>
<argument>-properties</argument> <argument>linux-x86_64-cuda</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
Когда nvcc компилирует .cu файл, он показывает ошибку
/home/TestWebapp6/target/classes/lib/jniCudaOps.cu(1154): ошибка: имя пространства имен не допускается
который в коде это строка
JNIEXPORT void JNICALL Java_com_skenzo_cuda_CudaOps_copy(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jobject arg2) {
thrust* ptr0 = arg0; //line showing the first error
thrust* ptr1 = arg1;
....
Есть какие-нибудь подсказки?
Вероятно, вопрос лучше подходит для списка рассылки javacpp. Проверять, выписываться эта тема например.
Других решений пока нет …