使用makefile将结果保存在.txt文件中,但保存在相对路径中



我有一个打印一些数据的cpp代码,我希望它将结果保存在txt文件中,但我希望它在不同的目录中。

我的数据树

|
|--Code
|   |--Oscilador.cpp
|   |--makefile
|
|--Resultados
|   |--(Where I want the txt to be save in)

我的make文件代码是这个

Oscilador.x:Oscilador.cpp
g++-10 -o0 Oscilador.cpp -o Oscilador.x
Resultados.txt:Oscilador.x
./Oscilador.x > ./Resultados/
rm Oscilador.x

当我运行make文件时,上面写着:

:Codigo Felipe$ make Resultados.txt
./Oscilador.x > Resultados/Resultados.txt
/bin/sh: Resultados/Resultados.txt: No such file or directory
make: *** [Resultados.txt] Error 1

我想知道该怎么修。

请参阅下面的代码,它将修复此问题。

Oscilador.x:Oscilador.cpp
g++ Oscilador.cpp -o Oscilador.x
Resultados.txt:Oscilador.x
# Output to Resultados.txt file under Resultados directory which is present one folder behind
./Oscilador.x > ../Resultados/Resultados.txt
rm Oscilador.x

如果已经创建了Resultados目录,则上述代码将成功运行
如果目录不存在,并且您希望在生成Resultdos.txt之前创建它,则使用以下代码

Oscilador.x:Oscilador.cpp
g++ Oscilador.cpp -o Oscilador.x
Resultados.txt:Oscilador.x
# create directory Resultados one folder behind  if it does not exist
mkdir -p ../Resultados
./Oscilador.x > ../Resultados/Resultados.txt
rm Oscilador.x

最新更新