gpt4 book ai didi

c++ - 如何为 C++ 设置跨平台编译(win7 中的 NetBeans 和 linux 中的 make)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:16 25 4
gpt4 key购买 nike

我想使用我喜欢的编辑器 NetBeans(因为它与 gcc 一起工作)建立一个 gcc C++ 项目,这将依赖于一些外部库。我希望它在带有 gcc 链的 NetBeans 中编译,并在生产环境中使用命令行 make 在 linux 下编译。最好先在 NetBeans 中创建项目,然后修改一些内容以在 Linux 中接受它。

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

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

是否有任何有用的指南来实现这一目标?

最佳答案

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

你需要:

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

然后,在为 Win7 目标编译时使用 Netbeans 为您创建的默认配置文件(构建主机是本地主机),在为 Linux 目标编译时使用您创建的新配置文件(构建主机是您的 Linux 服务器)。

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

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

这应该很容易工作。

关于c++ - 如何为 C++ 设置跨平台编译(win7 中的 NetBeans 和 linux 中的 make),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com