如何为C+建立跨平台的遵从性+;(win7中的NetBeans和linux中的make) 我想用我最喜欢的EdgReNETBeBes(因为它与GCC一起工作)来建立一个GCC C++项目,这将取决于一些外部库。我希望它在带有gcc链的NetBeans中编译,并在linux下使用命令行make在生产环境中编译。最好先在NetBeans中创建项目,然后在Linux中修改某些内容以接受它

如何为C+建立跨平台的遵从性+;(win7中的NetBeans和linux中的make) 我想用我最喜欢的EdgReNETBeBes(因为它与GCC一起工作)来建立一个GCC C++项目,这将取决于一些外部库。我希望它在带有gcc链的NetBeans中编译,并在linux下使用命令行make在生产环境中编译。最好先在NetBeans中创建项目,然后在Linux中修改某些内容以接受它,c++,linux,netbeans,compiler-construction,makefile,C++,Linux,Netbeans,Compiler Construction,Makefile,这些库将是相同的,但位于不同的文件夹中,因此我需要为这些库分离包含路径,并且在编译时必须选择正确的路径 此外,我可能需要使用少量的条件编译,因为在windows和linux下,一些#include指令可能包含也可能不包含库子路径 如何实现这一点,有什么有用的指南吗 假设您在Win7上使用Netbeans进行开发,并且您有一台Linux机器(让我们称之为服务器),可通过TCP/IP访问,并且所有软件包都已安装(gcc和您的程序依赖性) 您需要: 在Netbeans服务中添加一个构建主机,并设置s

这些库将是相同的,但位于不同的文件夹中,因此我需要为这些库分离包含路径,并且在编译时必须选择正确的路径

此外,我可能需要使用少量的条件编译,因为在windows和linux下,一些#include指令可能包含也可能不包含库子路径


如何实现这一点,有什么有用的指南吗

假设您在Win7上使用Netbeans进行开发,并且您有一台Linux机器(让我们称之为服务器),可通过TCP/IP访问,并且所有软件包都已安装(gcc和您的程序依赖性)

您需要:

  • 在Netbeans服务中添加一个构建主机,并设置
    ssh
    连接(当然,您的服务器需要deamon
    sshd
    活动)。Netbeans将寻找一个工具链。如果一切顺利:这是您的远程构建主机
  • 如果您在linux服务器上安装了所有软件包(我的意思是从软件包管理器安装),那么源代码将位于
    /usr/include
    中,库位于
    /usr/lib
  • 在项目属性中,为服务器应用程序定义新的配置文件(选择适当的生成主机)并解决依赖关系
然后,在为Win7目标编译时,使用为您创建的默认配置文件Netbeans(生成主机为localhost),在为Linux目标编译时,使用您创建的新配置文件(生成主机为您的Linux服务器)

要在包含时最小化条件预处理器代码,只需使用相对路径,并在Win7上保持与linux服务器相同的依赖项文件层次结构

此外,您还可以在linux服务器开发工具上运行,如has
gprof
valgrind
来检查您的工作

这应该很容易做到