Como usar impressoras de depuração bonitas para ver objetos Eigen no QtCreator?

Estou tentando ver o conteúdo de umEigen vetor noLocais e expressões janela doQtCreator:

Vejo que é um vetor com 10 componentes:

mas quando clico em abrir, recebo:

Eu tentei usareste script para fazer o truque. Eu salvei junto com um vazio__init__.py arquivo na pasta~ / Scripts / Eigen e criou o.gdbinit Arquivo:

python
import sys
sys.path.insert(0, '/home/martin/Scripts/Eigen')
from printers import register_eigen_printers
register_eigen_printers (None)
end

Eu reinicieiQtCreator e nada mudou. Eu verifiquei o"leia .gdbinit na inicialização" opção nas configurações do QtCreator e ainda nada.

O que me preocupa é que sei que no passado a visualização de objetos Eigen funcionavasem eu mexer com alguns scripts.

Por favor, o que estou fazendo de errado?

Estou usando:

gcc versão 4.8.1
Ubuntu 13.10
gdb 7.6.1-ubuntu
Qt Creator 3.0.0
Baseado no Qt 5.2.0

e estou compilando usando esses sinalizadores:

g++ -c -pipe -gdwarf-4 -fvar-tracking-assignments -g 
    -Wall -W -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG

EDITAR:

como @ggael sugeriu, tentei executar ogdb diretamente:

(gdb) run
Starting program: /home/martin/Projects/TestGrounds/test 
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/i386-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/i386-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'

E depois:

(gdb) print vec
Python Exception <class 'TypeError'> 'map' object is not subscriptable: 
Python Exception <class 'TypeError'> 'map' object is not subscriptable: 
$1 = {<Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >> = {<Eigen::MatrixBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >> = {<Eigen::DenseBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<double, -1, 1, 0, -1, 1>, double, double, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, 
    m_storage = {m_data = 0x804e020, m_rows = 10}}, <No data fields>}

Por favor, você poderia explicar o que isso significa? O que élibstdcxx?

questionAnswers(3)

yourAnswerToTheQuestion