C ++ общая библиотека неопределенная ссылка на `FooClass :: SayHello () '

я делаю общую библиотеку C ++ и когда я компилирую основной exe-файл, который использует библиотеку, компилятор дает мне:

main.cpp:(.text+0x21): undefined reference to `FooClass::SayHello()'
collect2: ld returned 1 exit status

Код библиотеки:

fooclass.h

#ifndef __FOOCLASS_H__
#define __FOOCLASS_H__

class FooClass 
{
    public:
        char* SayHello();
};

#endif //__FOOCLASS_H__

fooclass.cpp

#include "fooclass.h"

char* FooClass::SayHello() 
{
    return "Hello Im a Linux Shared Library";
}

Компилирование с:

g++ -shared -fPIC fooclass.cpp -o libfoo.so

Main: main.cpp

#include "fooclass.h"
#include 

using namespace std;

int main(int argc, char const *argv[])
{
    FooClass * fooClass = new FooClass();

    cout< fooClass->SayHello() < endl;

    return 0;
}

Ответы на вопрос(1)

Ваш ответ на вопрос