2012-03-30 15 views
1

Ich bin auf der Suche nach einer Möglichkeit, die Standardausgabe meines nmake Aufrufs in eine bestimmte Datei zu schreiben. Ich habe versucht etwas wie "nmake target> file.log", aber das wird nicht funktionieren. Außerdem rufe ich mehrere nmakes innerhalb meines MAKEFILEs auf und verwende möglicherweise mehrere Protokolldateien, um den Output zu verfolgen. Ich habe nur die Option nmake gefunden, um Fehler in eine Datei zu schreiben, aber was ist mit der Standardausgabe?Nmake Standardausgabe in Datei

Gibt es einen einfachen Weg (unter Windows)?

+1

es funktioniert für mich. 'nmake target> log.out' erzeugt eine Datei, die die Ausgabe der make-Sitzung enthält. Können Sie ein Makefile bereitstellen, das das Verhalten erzeugt, das Sie hier melden? – Cheeso

Antwort

1

@Cheeso Ich habe versucht, einfaches Beispiel zu bauen und bemerkte, dass es für mich nicht funktioniert, weil das MAKEFILE im erhöhten Modus ausgeführt werden muss. Betrachten Sie eine Make-Datei wie folgt aus:

default: 
REM Test 

und eine Batch-Datei wie folgt:

cd /d "%~dp0" 
nmake output.log 
pause 

Wenn die Batch-Datei als Administrator ausführen es nicht die stdout meiner Datei nicht umleiten und gibt einen Fehler zurück .

+0

Ich bin mir sicher, dass es etwas mit dem erhöhten Modus und der 'cd/d"% ~ dp0 "' zu tun hat, die benötigt wird, um das MAKEFILE direkt neben der Batch-Datei laufen zu lassen. – MrCube

0

jom ist wirklich wählerisch, und es basiert auf nmake gemacht. Da das der Fall ist, haben wir wahrscheinlich mit der gleichen Feinheit umzugehen.

Dies funktioniert: jom -j 8 >> build.log

Während dies nicht funktioniert: jom -j 8>>build.log

einige Leerzeichen hinzufügen, und Sie sollten gut zu gehen. Das war auch für mich mit Qt 5.6.1-1 unglaublich nervig. Ich habe sogar versucht, Powershell-Transkripte zu verwenden, aber das endete mit einer kompletten Pleite.