Sorry, jetzt hab ich meinen oberen Beitrag bearbeitet. Kompilieren läuft Glatt. Naja fast, es gibt selbst auf Warnlevel 1 noch 1 mio Warnungen. Hier die Ausgabedatei Sorry für die Verwirrung.Bebu hat geschrieben:läuft die Expressversion von MSVS 2010 unter XP? Dann könnte ich es mal mit einer virtuellen Maschine versuchen.
Build-System
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: Build-System
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Haters gonna hate, potatoes gonna potate.
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Build-System
Ich kann das jetzt nicht alles durchlesen, aber dreiviertel der Meldungen kommen irgenwie aus der Standardlibrary oder aus Boost. Die Warnungen alle zu fixen wird schwierig, wenn es nicht nur im eigenen Code begraben liegt. Außer die Ursache sind einige wenige Fehler im Code.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: Build-System
Ist mir bewusst. Ich habe die Datei auch nur "für Informationszwecke" angehängt. Übrigens, von 33 Fehlern auf 0 Fehler in 2 Tagen ist ne saubere Leistung. Alle AchtungBebu hat geschrieben:Ich kann das jetzt nicht alles durchlesen, aber dreiviertel der Meldungen kommen irgenwie aus der Standardlibrary oder aus Boost. Die Warnungen alle zu fixen wird schwierig,
Das mit den Warnungen ist so ne Geschichte. Ich würde sagen, lassen wirs fürs erste Ruhen. Aber da sollte ne Grundsatzdiskussion geführt werden, wie mit Warnungen umzugehen ist, und als Ergebniß sollte am besten eine Art "Richtline" als Dokument herausschauen.
Herr Projektleiter? Wie ist ihre Meinung?
Haters gonna hate, potatoes gonna potate.
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Build-System
Vielen Dank für die Blumen. Aber ich denke, das die meisten Fehler aus zwei Gründen aufgetreten sind: Non-Void Funktionen ohne return Anweisung, gerade mitten im Entwickeln bin ich da nicht so genau. Der zweite dürften die fehlerhaften Namespaces gewesen sein, die g++ überraschenderweise ohne jedes mäckeln kompiliert hat, obwohl er hier einen Grund zum meckern gehabt hätte...fat-lobyte hat geschrieben: Ist mir bewusst. Ich habe die Datei auch nur "für Informationszwecke" angehängt. Übrigens, von 33 Fehlern auf 0 Fehler in 2 Tagen ist ne saubere Leistung. Alle Achtung
Warten wir mal ab, was der "Bigboss" dazu sagt Ich für meinen Teil habe schon den Ehrgeiz, die Warnungen in den Codeteilen, die ich geschrieben habe zu fixen, zumindest so, das es auf Linux ohne Warnungen kompiliert. Was dann beim MSVC übrig bleibt, muss man sehen.fat-lobyte hat geschrieben: Das mit den Warnungen ist so ne Geschichte. Ich würde sagen, lassen wirs fürs erste Ruhen.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Build-System
So kleines aber feines Update: Die Warnungen sind alle gefixt, bis auf die 12 Stück, die aus der Hashklasse stammen, das ist nicht meine Baustelle
An zwei Stellen hat sich das ganze als übler Hack erwiesen, aber ich glaube, das liegt mit an Fehler in den Klassen, die einfach durch fehlende Tests nicht aufgefallen sind. Darum werde ich mir als nächstes einen Unittest für FileInfo und Filesearch bauen. Es ist ziemlich mies und blöd, auf Klassen aufzubauen, die unzureichend getestet sind und dann nach Fehlern zu suchen, die im Unterbau sitzen, weil man zu faul war ordentliche Test zu schreiben...
An zwei Stellen hat sich das ganze als übler Hack erwiesen, aber ich glaube, das liegt mit an Fehler in den Klassen, die einfach durch fehlende Tests nicht aufgefallen sind. Darum werde ich mir als nächstes einen Unittest für FileInfo und Filesearch bauen. Es ist ziemlich mies und blöd, auf Klassen aufzubauen, die unzureichend getestet sind und dann nach Fehlern zu suchen, die im Unterbau sitzen, weil man zu faul war ordentliche Test zu schreiben...
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: Build-System
Yay!!
Dedupe kompiliert mit Clang++!
Grund zum Feiern
Sorry, ich freu mich nur, wenn ganz ein Programm einfach mal so mir nichts, dir nichts auf einer neuen Plattform kompiliert.
Edit:
Wow, und linkt sogar mit llvm-ld statt ld aus binutils
Dedupe kompiliert mit Clang++!
Grund zum Feiern
Code: Alles auswählen
[alexander@desktop-fedora build]$ cmake -DCMAKE_LIBRARY_PATH=/usr/lib64/ -DCMAKE_BUILD_TYPE=Debug ..
-- The CXX compiler identification is Clang
-- Check for working CXX compiler: /home/alexander/usr/local/bin/clang++
-- Check for working CXX compiler: /home/alexander/usr/local/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Building for architecture: x86_64
-- Warning level is 3
CMake Warning at cmake/SetWarnings.cmake:34 (message):
SetWarnings.cmake: unknown compiler
Call Stack (most recent call first):
CMakeLists.txt:28 (include)
-- Boost version: 1.46.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found SQLite3: /usr/lib64/libsqlite3.so
-- Adding -fPIC flag for Linux x86_64 targets
-- Found Curses: /usr/lib64/libcurses.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alexander/dedupe-svn/build
Code: Alles auswählen
[code][alexander@desktop-fedora build]$ make
Scanning dependencies of target dedupe-hash
[ 8%] Building CXX object hash/CMakeFiles/dedupe-hash.dir/hash32.cpp.o
[ 16%] Building CXX object hash/CMakeFiles/dedupe-hash.dir/hash64.cpp.o
Linking CXX static library libdedupe-hash.a
[ 16%] Built target dedupe-hash
Scanning dependencies of target dedupe-filesearch
[ 25%] Building CXX object filesearch/CMakeFiles/dedupe-filesearch.dir/searchfiles.cpp.o
[ 33%] Building CXX object filesearch/CMakeFiles/dedupe-filesearch.dir/fileinfo.cpp.o
Linking CXX static library libdedupe-filesearch.a
[ 33%] Built target dedupe-filesearch
Scanning dependencies of target dedupe-dataholding
[ 41%] Building CXX object dataholding/CMakeFiles/dedupe-dataholding.dir/sqlitewrapper.cpp.o
[ 50%] Building CXX object dataholding/CMakeFiles/dedupe-dataholding.dir/dataholding.cpp.o
Linking CXX static library libdedupe-dataholding.a
[ 50%] Built target dedupe-dataholding
Scanning dependencies of target dedupe-kernel
[ 58%] Building CXX object kernel/CMakeFiles/dedupe-kernel.dir/kernel.cpp.o
Linking CXX shared library libdedupe-kernel.so
[ 58%] Built target dedupe-kernel
Scanning dependencies of target dedupe-ncurses
[ 66%] Building CXX object userinterface/gui/ncurses/CMakeFiles/dedupe-ncurses.dir/implementation.cpp.o
In file included from /home/alexander/dedupe-svn/userinterface/gui/ncurses/implementation.cpp:5:
In file included from /home/alexander/dedupe-svn/userinterface/gui/ncurses/implementation.h:8:
/home/alexander/dedupe-svn/userinterface/gui/ncurses/markable.h:56:9: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/alexander/dedupe-svn/userinterface/gui/ncurses/implementation.cpp:140:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/alexander/dedupe-svn/userinterface/gui/ncurses/implementation.cpp:144:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/alexander/dedupe-svn/userinterface/gui/ncurses/implementation.cpp:179:5: warning: control may reach end of non-void function [-Wreturn-type]
}
^
4 warnings generated.
[ 75%] Building CXX object userinterface/gui/ncurses/CMakeFiles/dedupe-ncurses.dir/markable.cpp.o
In file included from /home/alexander/dedupe-svn/userinterface/gui/ncurses/markable.cpp:6:
/home/alexander/dedupe-svn/userinterface/gui/ncurses/markable.h:56:9: warning: control reaches end of non-void function [-Wreturn-type]
}
^
1 warning generated.
[ 83%] Building CXX object userinterface/gui/ncurses/CMakeFiles/dedupe-ncurses.dir/main.cpp.o
In file included from /home/alexander/dedupe-svn/userinterface/gui/ncurses/main.cpp:4:
In file included from /home/alexander/dedupe-svn/userinterface/gui/ncurses/implementation.h:8:
/home/alexander/dedupe-svn/userinterface/gui/ncurses/markable.h:56:9: warning: control reaches end of non-void function [-Wreturn-type]
}
^
1 warning generated.
Linking CXX executable ../../../dedupe-ncurses
[ 83%] Built target dedupe-ncurses
Scanning dependencies of target dedupe
[ 91%] Building CXX object userinterface/cli/CMakeFiles/dedupe.dir/main.cpp.o
[100%] Building CXX object userinterface/cli/CMakeFiles/dedupe.dir/cli.cpp.o
Linking CXX executable ../../dedupe
[100%] Built target dedupe
Edit:
Wow, und linkt sogar mit llvm-ld statt ld aus binutils
Haters gonna hate, potatoes gonna potate.
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Änderungen am Build-System
Hallo!
Ich habe wieder einiges am Build-System verbrochen.
1) (r208):
- Variable WARNING_LEVEL unbenanannt in DEDUPE_WARNING_LEVEL.
Warum? Ich finds hübscher wenn alle unsere Variablen gruppiert sind. (siehe unten).
- C zu Projektsprachen hinzugefügt (von Qt benötigt)
2) (r209): Qt-CMakeLists.txt so verändert, dass es im Projekt veränderbar ist:
- dedupqt -> dedupe-qt
- mit dedupe-kernel gelinkt
3) (r210):
- Neue Optionen eingeführt:
Folgende Variablen können gesetzt werden, je nachdem welche Oberfläche man bauen will:
DEDUPE_BUILD_CLI
DEDUPE_BUILD_NCURSES
DEDUPE_BUILD_QT
Diese Variablen schließen sich gegenseitig NICHT aus, das heißt ihr könnt das bauen was ihr wollt.
- Qt In den Build eingefügt.
Standardmäßig wird Ncures und CLI gebaut, Qt nicht.
Außerdem habe ich gestern beim bauen von CLang das GUI von CMake für mich entdeckt. Hier könnt ihr bequem und gruppiert alle Variablen setzen. Hier ein Screenshot:
Hübsch, nicht wahr? Einfach anklicksen was ihr braucht, und fertig
Ich habe wieder einiges am Build-System verbrochen.
1) (r208):
- Variable WARNING_LEVEL unbenanannt in DEDUPE_WARNING_LEVEL.
Warum? Ich finds hübscher wenn alle unsere Variablen gruppiert sind. (siehe unten).
- C zu Projektsprachen hinzugefügt (von Qt benötigt)
2) (r209): Qt-CMakeLists.txt so verändert, dass es im Projekt veränderbar ist:
- dedupqt -> dedupe-qt
- mit dedupe-kernel gelinkt
3) (r210):
- Neue Optionen eingeführt:
Folgende Variablen können gesetzt werden, je nachdem welche Oberfläche man bauen will:
DEDUPE_BUILD_CLI
DEDUPE_BUILD_NCURSES
DEDUPE_BUILD_QT
Diese Variablen schließen sich gegenseitig NICHT aus, das heißt ihr könnt das bauen was ihr wollt.
- Qt In den Build eingefügt.
Standardmäßig wird Ncures und CLI gebaut, Qt nicht.
Außerdem habe ich gestern beim bauen von CLang das GUI von CMake für mich entdeckt. Hier könnt ihr bequem und gruppiert alle Variablen setzen. Hier ein Screenshot:
Hübsch, nicht wahr? Einfach anklicksen was ihr braucht, und fertig
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Haters gonna hate, potatoes gonna potate.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Build-System
Kann man in einer einfachen Art und Weise Dein Wissen mal übertragen bekommen?
Ein CMake-Tut wäre mir fast schon lieber als ein GIT-Tutorial. GIT löst kein Problem, dass ich habe... CMake schon ^^
Ein CMake-Tut wäre mir fast schon lieber als ein GIT-Tutorial. GIT löst kein Problem, dass ich habe... CMake schon ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: Build-System
Das könnte dauern, ich hab in den nächsten 2-3 wochen keine Zeit.Xin hat geschrieben:Ein CMake-Tut wäre mir fast schon lieber als ein GIT-Tutorial. GIT löst kein Problem, dass ich habe... CMake schon ^^
Was ich anbieten kann ist ein kurzes "CMake für User" tutorial, wie man eigentlich baut, wie man CMake seine Wünsche äußert, wie man Compilerflags durchsetzen kann und wie man den Findern beibringt wo die Libs zu finden sind.
Haters gonna hate, potatoes gonna potate.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Build-System
Wäre mehr, als ich zur Zeit kann. Wäre gut.fat-lobyte hat geschrieben:Das könnte dauern, ich hab in den nächsten 2-3 wochen keine Zeit.Xin hat geschrieben:Ein CMake-Tut wäre mir fast schon lieber als ein GIT-Tutorial. GIT löst kein Problem, dass ich habe... CMake schon ^^
Was ich anbieten kann ist ein kurzes "CMake für User" tutorial, wie man eigentlich baut, wie man CMake seine Wünsche äußert, wie man Compilerflags durchsetzen kann und wie man den Findern beibringt wo die Libs zu finden sind.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.