我的文件夹中只有2个文件 - Gnuplot_example.cpp和Makefile。
Gnuplot_example.cpp
#include "Snap.h"
int main(int argc, char* argv[]) {
TIntH expCount, PoissonCount;
TRnd a;
double binSize=0.1;
//exponential distribution
for (int i=0; i<10000; ++i)
{
double num=a.GetExpDev(1);
expCount.AddDat((int)(num/binSize))++;
}
//Poisson distribution
for (int i=0; i<10000; ++i)
{
double num=a.GetPoissonDev(10);
PoissonCount.AddDat((int)(num/binSize))++;
}
expCount.Sort(true,true);
PoissonCount.Sort(true,true);
{
TVec<TPair<TFlt, TFlt > > XY1, XY2;
for (int i=0; i<expCount.Len(); ++i)
XY1.Add(TFltPr(expCount.GetKey(i)*binSize, expCount[i]+0.0));
for (int i=0; i<PoissonCount.Len(); ++i)
XY2.Add(TFltPr(PoissonCount.GetKey(i)*binSize,PoissonCount[i]+0.0));
TGnuPlot Gp("distribution", "Exponential and Poisson Distribution");
Gp.AddPlot(XY1, gpwLinesPoints, "Exponential");
Gp.AddPlot(XY2, gpwLinesPoints, "Poisson");
Gp.SetXYLabel("value", "count");
Gp.SavePng(); //or Gp.SaveEps();
}
return 0;
}
生成文件
#
# Makefile for non-Microsoft compilers
#
all: $(Gnuplot_example)
# COMPILE
$(Gnuplot_example): $(Gnuplot_example).cpp $(DEPH) $(DEPCPP) $(EXSNAP)/Snap.o
$(CC) $(CXXFLAGS) -o $(Gnuplot_example) $(Gnuplot_example).cpp $(DEPCPP) $(EXSNAP)/Snap.o -I$(EXSNAP) -I$(EXSNAPADV) -I$(EXGLIB) -I$(EXSNAPEXP) $(LDFLAGS) $(LIBS)
$(EXSNAP)/Snap.o:
make -C $(EXSNAP)
clean:
rm -f *.o $(Gnuplot_example) $(Gnuplot_example).exe
rm -rf Debug Release
当我在此文件夹中使用命令'make'时,它说: make:'all'没什么可做的。 并且没有创建目标文件。我已经完成了其他答案,并确保在规则中使用制表符而不是空格。我是新来的。我没有弄错。 感谢您的帮助!!