【问题标题】:netbeans c++ cross-plattform (mac & linux) at the same time with gitnetbeans c++ 跨平台(mac & linux)同时与git
【发布时间】:2017-08-13 22:12:51
【问题描述】:

我目前想知道如何解决这种情况,即我想从具有不同操作系统的多个设备上处理 C++ 项目。所以我的想法是把我的 .cpp 和 .h 文件向上推。所以我试图克隆它并使用现有的源文件创建一个项目。我希望 Netbeans 能够意识到将文件放在正确的项目子目录中的位置(如头文件/源文件)。但是它不起作用,因为它需要 Makefile。尽管将 Makefile 推送到 git 是没有意义的,因为它包含有关先前操作系统的信息。

有没有一种方法可以让 Netbeans 足够聪明,只需将文件放在正确的文件夹中,然后我就可以从头开始编译它,而无需使用以前操作系统中的现有 Makefile?

非常感谢。

【问题讨论】:

  • 您是否考虑过使用相同的相对结构和更智能的 makefile,可以使用不同的工具链构建不同的目标?这样,所有 Netbeans 需要知道的是 make <insert target here>

标签: c++ linux git macos netbeans


【解决方案1】:

我正在做@user4581301 多年来一直在谈论的事情。

重要提示:Netbeans 项目类型必须是“具有现有源的 C/C++ 项目”。

Makefile 包含 ifeq 语句,因此它在 Linux 和 Windows 上的工作方式不同:

MAIN = tc0001

ifeq (${OS},Windows_NT)
  include ${MAKELIBHOME}/MINGW32.inc
  include ${MAKELIBHOME}/WINDOWS.inc
else
  MAKELIBHOME := ${HOME}/host/lib/make
  include ${MAKELIBHOME}/GCC.inc
endif

build: ${MAIN}

clean:; rm -fr core *.o latest*

MAKELIBHOME 目录是我存储各种 makefile(MINGW32.incGCC.inc 等)的地方。 MAKELIBHOME 是 Windows 上的环境变量,但 Linux 上的 Netbeans 不理解这种环境变量,所以我必须在包含这些部分之前在 Makefile 中分配这个变量。

所有内容都存储在 Git 存储库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 2011-07-11
    • 2016-02-10
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多