undefined reference to `create_empty_matrix(int, int)’

Tengo la siguiente cabecera “iomatrix.h”…

#ifndef IOMATRIX_H #define IOMATRIX_H  #define elem_t double  elem_t** create_empty_matrix(int n_rows, int n_cols); void fill_zero_matrix(elem_t** A, int n_rows, int n_cols); void fill_main_diagonal(elem_t** A, int size, elem_t value); void copy_matrix_content(elem_t** TO, elem_t** FROM, int n_rows, int n_cols); int equals_matrix_content(elem_t** A, elem_t** B, int n_rows, int n_cols); void free_matrix(elem_t** A, int n_rows, int n_cols); elem_t** matrix_from_string(const char* text, int* pn_rows, int* pn_cols); void print_matrix(const char* label, elem_t** A, int n_rows, int n_cols);  #endif  /* IOMATRIX_H */ 

Y mi main.cpp es el que sigue:

#include <iostream> #include "iomatrix.h"  using namespace std;  int main() { elem_t** mio; mio=create_empty_matrix(3,3); return 0; } 

Y obtengo el siguiente error al compilar en DevC++ (aunque tambien me pasa en xcode y codeBloks, con gcc 4.9.2 64bits (además he incluido en la llamada al compilador el parametro “-std=C++11” ó “-std=c++0x” y tanto la cabecera como el codigo de la libreria están en el mismo directorio que el main.cpp.

Me da el siguiente error:

undefined reference to `create_empty_matrix(int, int)' 

Parece como que no encuentra la definicion de la función en la librería pero no se por qué… Alguna sugerencia?

Gracias por adelantado.