如何创建跨平台的C++;Netbeans中的应用程序? 在Linux和Windows操作系统中,在NETBea87.1中创建一个简单的“hello World”跨平台C++应用程序时,我遇到了一些困难。我发现很少有针对Windows的说明,也没有针对Linux的说明(我的操作系统是Ubuntu 14.04)
我在互联网上的研究得出结论,应该为Windows操作系统再创建一个makefile。通常,在创建C++项目时,NETBeBes善意地建议我们为我们创建一个MaMe文件。这很好,但它只适用于Linux 我坚持创建Makefile(以前从未手动创建过),因此以下是创建Windows Makefile的步骤:如何创建跨平台的C++;Netbeans中的应用程序? 在Linux和Windows操作系统中,在NETBea87.1中创建一个简单的“hello World”跨平台C++应用程序时,我遇到了一些困难。我发现很少有针对Windows的说明,也没有针对Linux的说明(我的操作系统是Ubuntu 14.04),c++,linux,netbeans,makefile,cross-platform,C++,Linux,Netbeans,Makefile,Cross Platform,我在互联网上的研究得出结论,应该为Windows操作系统再创建一个makefile。通常,在创建C++项目时,NETBeBes善意地建议我们为我们创建一个MaMe文件。这很好,但它只适用于Linux 我坚持创建Makefile(以前从未手动创建过),因此以下是创建Windows Makefile的步骤: 右键单击Project->New->Makefile 文件名:“Makefile窗口”->Next 编译器:GNU编译器,平台:Windows->Next 基本目录:项目目录->下一步 目标名称
#include <iostream>
int main( int argc, char** argv )
{
std::cout << "Hello world" << std::endl;
return 0;
}
#包括
int main(int argc,字符**argv)
{
STD::正如Borgleader提到的,Cuth,只有C++代码可以跨平台。下面是我的解决方案:
首先,我们不应该使用Linux GCC编译器来编译Windows应用程序。这就是为什么我们需要安装Windows编译器for Linux:
sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
其次,在创建makefile时,我们应该指定替代编译器。使用:
/usr/bin/i586-mingw32msvc-g++
不违约:
g++
最后,在生成这个makefile之后,我们的输出文件就可以在Windows平台上执行了
撇开工具链/工具箱的差异,您不能构建在Linux和Windows上都运行的本地可执行文件;您必须为每个要目标的平台编译一次。C++代码可以跨平台,可执行文件不能。我完全不同意这个。如果您想支持Windows上的Linux应用程序,则重新编译。在Windows上使用Cygwin终端的源代码。然后它将成为Windows二进制文件。这在大多数情况下都有效。或者使用宏确定正在使用的编译器,并编译适当的平台相关代码。这样,它将能够在两个系统上编译。