Confermo che a me funziona...
codice:
matteo@teomint:~/Desktop/test$ cat > libri.h
#include <iostream>
using namespace std;

class libri {
    public:
        libri();
        /*...metodi...*/
    protected:
        /*...campi....*/
};
matteo@teomint:~/Desktop/test$ cat > libri.cpp
#include <iostream>
#include "libri.h"
using namespace std;

libri::libri(){
    cout << "Siamo nel costruttore" << endl;
}
matteo@teomint:~/Desktop/test$ cat > usoLibri.cpp
#include <iostream>
#include "libri.h"
using namespace std;

int main(){
    libri l;
}
matteo@teomint:~/Desktop/test$ g++ -o usoLibri usoLibri.cpp libri.cpp 
matteo@teomint:~/Desktop/test$ ./usoLibri 
Siamo nel costruttore