Linux 编译失误, undefined reference to

Linux 编译出错, undefined reference to
/home/oracle/Test/open2000e/src/db_server/pub_tools/libpub_tools.so: undefined reference to `CDyShm::m_pShm'
/home/oracle/Test/open2000e/src/db_server/pub_tools/libpub_tools.so: undefined reference to `CDyShm::m_TotalShmSize'

CDyShm::m_pShm 是在  CDbShm.o里定义的
libpub_tools.so的makefile文件 里 已经包含了  CDbShm.o了啊
怎么 还说没定义呢?
------解决方案--------------------
是静态函数调用了普通成员变量了?
或者是静态变量没有初始化?
------解决方案--------------------
     #include <sys/types.h>
       #include <sys/stat.h>
       #include <unistd.h>

       int stat(const char *path, struct stat *buf);