在Linux上使用Qt创build可执行文件

是否有可能在Linux上为Linux和Windows使用相同的Qt代码在Eclipse上创build一个可执行文件? 还是有必要在我的Linux机器上安装Qt Creator?

Solutions Collecting From Web of "在Linux上使用Qt创build可执行文件"

如果你想在linux上构建一个windows二进制文件,你需要交叉编译。 这意味着你需要安装一个windows交叉编译器,加上你用交叉编译器构建的链接库。 对于一个基本的Qt程序来说,这意味着你至少需要一个交叉编译的Qt。

交叉编译与Eclipse或Qt Creator无关。 我不认为双方都支持交叉编译,但我想你可以让他们这样做。

当然,可以在Linux中安装Qt Creator。 在Linux / Win32 / Mac中可以使用相同的Qt代码进行编译。 但是,您应该只在以下情况下使用特定于平台的代码:

#ifdef Q_OS_WIN32 qDebug() << "Executable files end in .exe"; #endif 

其他操作系统还有其他的定义。 如果你这样做,你是安全的,你可以打赌它是跨平台的代码。 🙂

请参阅http://www.qtsoftware.com/downloads并下&#x8F7D;适用于Linux / X11Qt SDK 。 它包含Qt Creator,Assistant,Designer等等。

前一段时间,我试图做到这一点,我发现在这里交叉编译的资源: http : //silmor.de/qtstuff.cross.php 。 最后我在Windows下编译win32版本,由于时间不够,但应该可以的。

对于Eclipse,有一个正式的插件 。

用于C ++的Qt Eclipse集成

Eclipse插件可以用来创建自4.1.0以来使用任何Qt版本的程序。

在Windows中可执行文件不能在Linux中工作,反之亦然。 你可以这样做:

 #ifdef Q_WS_X11 QString *OS=new QString("Linux"); std::cout << OS->toStdString() << std::endl; #endif #ifdef Q_WS_WIN QString *OS=new QString("Windows"); std::cout << OS->toStdString() << std::endl; #endif #ifdef Q_WS_MACX QString *OS=new QString("Mac"); std::cout << OS->toStdString() << std::endl; #endif