使用GCC编译java文件时出错

时间:2012-04-16 13:44:54

标签: java gcc compiler-errors

我在Netbeans中写了一个小的java程序。它编译和运行完美。但是我还需要在Linux中的javac中编译它,因为这个功课在那里进行了测试。每当我尝试时,我都会收到以下编译错误消息。你对这个消息有什么想法吗?

/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../lib64/crt1.o: In function `_start':
/home/abuild/rpmbuild/BUILD/glibc-2.14.1/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'

我只需编写以下行来导入库

 import java.sql.*;

我只是使用println,除了sql操作。我的代码的开头如下:

Connection conn = null;
try{
    String username = ".....";
    String password = "....";
    String url = "jdbc:mysql://localhost:3306/.....";
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection(url, username, password);
    System.out.println("Database connection extablished.");
}
catch(Exception e){
    System.out.println("Cannot connect to database server");
}

在这部分代码之后,没什么特别的,只是普通的行。

3 个答案:

答案 0 :(得分:1)

需要(重新)为linux编译它。这是Java。生成的类文件(来自windows)将在Linux Windows上运行,您只需要在目标主机上使用JRE或JDK。

答案 1 :(得分:1)

似乎错误可能是因为您没有定义主方法,因此编译器无法找到它。

但是,我不得不问你为什么要使用GCC?普通的JDK可以在Linux上使用,除非你有充分的理由否则应该是你的首选!如果Netbeans没有在Linux上编译您的应用程序,那么可能是因为您没有正确设置或安装JDK - 您可以(并且应该)使用JDK而不是GCJ,而GCJ现在基本上没有维护。

您可以通过软件包管理器获取它,也可以单独下载here

答案 2 :(得分:0)

使用javac进行编译,而非GCC(或GCJ,如果您真的需要“GCCish”)。