There're a lot of people asking how to customly define c++ compile flags (CXX_FLAGS
) under OMNet++ 4 (OMNetpp 4), but don't really get an answer.
Here is the answer now. First follow my instruction and then I'll explain the reason.
Important: These are instructions under Linux. However, it's still very easy to port these instructions to Windows. Try it yourself.
mkdir -p ~/.omnetpp/
cp $omnetpp_root/Makefile.inc ~/.omnetpp/
omnetpp_root
environment variable, you probably have a false setup of OMNet++.vim ~/.omnetpp/Makefile.inc
-std=c++11
to CFLAGS_DEBUG
and CFLAGS_RELEASE
Makefile.inc
as you wish as long as you know what you're doing.vim ~/.bashrc
export OMNETPP_CONFIGFILE="~/.omnetpp/Makefile.inc"
to the end of your ~/.bashrc
filesource ~/.bashrc
Reasons Here:
If you examine the Makefile generated by opp_makemake
carefully, something may catch your eyes.
# Pull in OMNeT++ configuration (Makefile.inc or configuser.vc)
ifneq ("$(OMNETPP_CONFIGFILE)","")
CONFIGFILE = $(OMNETPP_CONFIGFILE)
else
ifneq ("$(OMNETPP_ROOT)","")
CONFIGFILE = $(OMNETPP_ROOT)/Makefile.inc
else
CONFIGFILE = $(shell opp_configfilepath)
endif
endif
This part of Makefile code pull in the configuration defined by the users (You!).
Where to pull?
The environment variable: OMNETPP_CONFIGFILE
so ... set it and enjoy whatever you like, either c++11 or openmp or valgrind, etc.