当我编译我的java程序时,我得到了这个错误:
error: Class names, 'EnumDevices', are only accepted if annotation
processing is explicitly requested
1 error
这是java代码(我在Ubuntu上运行)。
import jcuda.CUDA;
import jcuda.driver.CUdevprop;
import jcuda.driver.types.CUdevice;
public class EnumDevices {
public static void main(String args[]) {
CUDA cuda = new CUDA(true);
int count = cuda.getDeviceCount();
System.out.println("Total number of devices: " + count);
for (int i = 0; i < count; i++) {
CUdevice dev = cuda.getDevice(i);
String name = cuda.getDeviceName(dev);
System.out.println("Name: " + name);
int version[] = cuda.getDeviceComputeCapability(dev);
System.out.println("Version: " +
String.format("%d.%d", version[0], version[1]));
CUdevprop prop = cuda.getDeviceProperties(dev);
System.out.println("Clock rate: " + prop.clockRate + " MHz");
System.out.println("Threads per block: " + prop.maxThreadsPerBlock);
}
}
}
下面是javac命令:
javac -cp /home/manish.yadav/Desktop/JCuda-All-0.3.2-bin-linux-x86_64 EnumDevices
我如何编译这个程序?
发布于 2013-08-31 05:00:13
我也被这一点难住了,因为我包含了.Java扩展...然后我注意到大写的J。
这也会导致"annotation processing“错误:
javac myclass.Java
相反,它应该是:
javac myclass.java
发布于 2015-11-09 21:42:51
chandan@cmaster:~/More$ javac New.java
chandan@cmaster:~/More$ javac New
error: Class names, 'New', are only accepted if annotation processing is explicitly requested
1 error
因此,如果您在编译后不小心再次使用javac
来运行程序。
发布于 2017-09-02 05:50:24
我了解到,您也可以通过将源文件存储在名为Java的文件夹中来获得此错误
https://stackoverflow.com/questions/5063266
复制相似问题