C++ makefile的Netbeans环境变量

Pot*_*ter 6 c++ macos netbeans makefile

我有一个简单的makefile,它调用C++编译器$(CXX),在我的~/.profile脚本中设置.Netbeans的似乎有一个复杂的工具链经理,但它似乎解决$CXX刚才c++不管是什么.

我怎样才能$CXX正确设置,或者我的makefile可以检测到Netbeans设置的另一个变量?(呸)

编辑:右键单击导航器中的makefile允许我指定一个环境,尽管似乎只有一行输入的空间.指定CXX=/usr/local/bin/g++修复问题,但这远非最佳.

HEK*_*KTO 3

我将仅描述当我在 NetBeans 中使用 C++ 时通常会做什么。首先,我为每个项目创建一个简单的 makefile,如下所示:

MAIN = <my main target>
CFLAGS = -g -std=c++0x

include ${MAKELIBHOME}/MINGW32.inc
include ${MAKELIBHOME}/WINDOWS.inc

build: ${MAIN}

clean:; rm -fr <files to remove>
Run Code Online (Sandbox Code Playgroud)

环境变量 MAKELIBHOME 是在 NetBeans 外部设置的。目录 ${MAKELIBHOME} 包含许多make 的包含文件,例如文件 MINGW32.inc 如下所示:

CC = g++

CFLAGS += -W -DLITTLE_ENDIAN=1
LDLIBS += -lws2_32

.SUFFIXES: .o .c .cpp

.c:     ;${CC} ${CFLAGS} ${LDFLAGS} $< -o latest ${LDLIBS}
.cpp:   ;${CC} ${CFLAGS} ${LDFLAGS} $< -o latest ${LDLIBS}

.c.o:   ;${CC} ${CFLAGS} -c $<
.cpp.o: ;${CC} ${CFLAGS} -c $<
Run Code Online (Sandbox Code Playgroud)

这些 inc 文件对于所有 NetBeans 项目都是相同的。这里没有绝对路径,因此 make 将使用 PATH 变量来定位 GCC 工具集,但当然您可以使用绝对路径来选择您喜欢的工具集(或包含不同的 inc 文件 - 我更喜欢这种方式)。

所有这些都可以在我的 Windows 机器上运行,但 Linux 配置看起来非常相似 - 我只需要在我的所有主 makefile 中包含另一组 inc 文件。此外,此设置允许我从命令行调用 make。

希望对你有帮助~AY