torsdag 6 maj 2010

Att kompilera i gedit

Jag hade till en början en del problem med att kompilera program i gedit, som länge använt som standardprogram för att kompilera mina c++-program (i ubuntu-linux).

Den bästa lösningen  som jag kommit på för att kompilera mina program var att göra nedanstående skript som jag la till i gedits externa verktyg. Sen kopplade jag det till en snabbknapp (F5) som var det enda jag behövde trycka på för att kompilera mitt program.

Notera att för varje projekt skapade en Makefile-fil som innehöll en regel som hette run. Detta innebar programmet startades efter att det hade kompilerats felfritt. Just hur man skriver makefiler skriver jag inte just här, men det finns någon annanstans på nåtet.


 
#!/usr/bin/python

#ett verktyg som gar till den platsen dar det blir fel

#Skrivet av Mattias Larsson Sköld

import subprocess
import os
#import thread

import warnings
#For att slippa himla deprec. varning
warnings.simplefilter("ignore")


#detta funkar ej eftersom meddelanden kommer i felhanteringsgrejen
#utput = subprocess.Popen("make run").read()

(a, b, err) = os.popen3("make run")

print "Kompilerar"
print b.read()

for line1 in err:
print line1[:-1]
line2 = line1.split()
line3 = line2[0] +" "
ant_kolon = line3.count(":")
#print ant_kolon
if (ant_kolon > 1):
print "\nDetta aer feltexten"
str1 = line1.split(":")
#bygger upp ett komando att anropa
com = "gedit %s +%s" % (str1[0], str1[1])
#print com
print "fel i %s, rad nummer %s" % (str1[0], str1[1])
os.system(com)
quit()

print "Inga fel. Bra jobbat"
#Slut på skriptet