PHP警告:PHP启动:无法加载动态库“./lib.so”-。/lib.so:未定义符号:*位于第0行的未知位置
我已经编写并编译了php扩展,但是当我尝试运行php时,我会遇到这个错误 PHP警告:PHP启动:无法加载动态库“/usr/lib/php5/20100525+lfs/mylib.so”-/usr/lib/php5/20100525+lfs/mylib.so:未定义符号:ZNK4Data10strtolowerEPKc,第0行未知 数据.h data.cppPHP警告:PHP启动:无法加载动态库“./lib.so”-。/lib.so:未定义符号:*位于第0行的未知位置,php,c++,g++,Php,C++,G++,我已经编写并编译了php扩展,但是当我尝试运行php时,我会遇到这个错误 PHP警告:PHP启动:无法加载动态库“/usr/lib/php5/20100525+lfs/mylib.so”-/usr/lib/php5/20100525+lfs/mylib.so:未定义符号:ZNK4Data10strtolowerEPKc,第0行未知 数据.h data.cpp 这个错误是什么?为什么要编译代码?主要的问题是如何解决这个问题?我写了两个答案,可能对你有所帮助: 具体来说,我认为您的错误在于您的模块不
这个错误是什么?为什么要编译代码?主要的问题是如何解决这个问题?我写了两个答案,可能对你有所帮助: 具体来说,我认为您的错误在于您的模块不在ldcache中。请参见第一个答案 此外,不能在cpp文件中内联。内联仅用于标题。删除内联,如果模块位于ldcache或LD_LIBRARY_路径中,则它可能会工作
class Data
{
public:
// ...
char *strtolower ( const char * const ) const;
};
inline char *Data::strtolower(const char *const str) const
{
char c, *b = estrdup(str), *s = b;
while(*s != '\0' && (c = *s))
{
*s++ = (c >= 0x41 && c <= 0x5a) ? c + 0x20 : c;
}
return b;
}