C++ pitfalls:
http://developer.kde.org/~wheeler/cpp-pitfalls.html
Pointers, references:
http://www.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html
C++ ref:
Debugging linux:
enable core dumps: ulimit -c unlimited
./program
gdb <program> <core.dumped>
const:
http://wojtek-m.blogspot.com/2010/08/wszystko-co-musisz-wiedziec-o-const-w-c.html
explicit, typename:
http://wojtek-m.blogspot.com/2010/07/rzadko-spotykane-sowa-kluczowe-c.html
cmake ROOT
Cmake do kompilowania programu wraz z bibliotekami ROOT:
Przygotować plik: CMakeList.txt
o zawartości:
project(plotHist)
add_executable(plotHist main-hist.cc)
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
include_directories(${CMAKE_SOURCE_DIR} ${ROOT_INCLUDE_DIRS})
add_definitions(${ROOT_CXX_FLAGS})
find_package(ROOT REQUIRED COMPONENTS Gui Core Cint RIO Net Hist Graf Graf3d Gpad Tree Rint Postscript Matrix Physics MathCore Thread)
include(${ROOT_USE_FILE})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
target_link_libraries(plotHist ${ROOT_LIBRARIES})
Zmienić project(nazwa projektu) i w add_executable(nazwa_pliku_wyjsciowego lista_plików_c)
Plik umieścić w katalogu src wraz ze źródłami programu.
Utworzyć katalog build (mkdir build), równolegle do src, wejść do niego i wydać polecenie:
cmake -DCMAKE_VERBOSE_MAKEFILE=ON ../src/
a następnie polecenie
make -j8
ewentualnie do pracy w ECLIPSE:
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../src/
a następnie w Eclipse:
File->New->Makefile from Exitsting Project
podać nazwę projektu i wskazać Existing Code Location, katalog build,
Toolchain ustawić na gcc
projekt powinien bez problemu się budować i uruchamiać, ale eclipse będzie widział błędy.
Następnie ustawić w projekcie (kliknąć prawym klawiszem myszy na nazwę projektu w zakładce Projects),
i wybrać Properties.
Rozwinąć C/C++ General i w Preprocessor Include Paths, Macros etc. w Providers zaznaczyć opcję: CDT GCC Built-in Compiler Settings,
a następnie wcisnąć Apply. Potem w C/C++ General, w Path and Symbols, dla języków C++ oraz C dodaj ścieżkę (przycisk Add...),
następnie kliknąć w nowym okienku przycisk File system... i wybrać katalog include ( w moim przypadku jest to ścieżka: /home/darek/ROOT/root_v5.34.32/include).
Po dodaniu nacisnąć Apply i przebudować indeks. Po tym działaniu wszystkie błędy widziane przez Eclipse powinny zniknąć"
Eclipse i powolne otwieranie okna Preferences Projektu pod Linux-em:
http://blog.vogella.com/2014/02/21/using-eclipse-luna-on-ubunbu/
Uruchamiać eclipse ze skryptu:
#!/bin/bash
export SWT_GTK3=0
export UBUNTU_MENUPROXY=0
./eclipse -showlocation
CMAKE i biblioteka FLTK: