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:

http://www.cplusplus.com

 

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:

 cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
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:
cmake_minimum_required(VERSION 2.6)
project(Hello)

find_package(FLTK REQUIRED NO_MODULE)
include(${FLTK_USE_FILE})

add_executable(hello hello.cxx)

target_link_libraries(hello fltk)