再次遇到的问题:Unable to load dynamic library myext.so: undefined symbol
2013-05-18 08:42
633 查看
google到了这里
http://stackoverflow.com/questions/7271792/php-warning-php-startup-unable-to-load-dynamic-library-home-lib-so-so-undef终于解决了!!!
问题是:能编译模块生成so,但php不能加载
PHP Startup: Unable to load dynamic library myext.so: undefined symbol: Z_ADDREF_P(这里是你的函数入口名) in Unknown on line 0
解决方法:在config.m4文件中加入
PHP_SUBST(MYEXT_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(stdc++, "", MYEXT_SHARED_LIBADD)
即整个config.m4文件为编写c++扩展需要加上
PHP_REQUIRE_CXX() PHP_SUBST(MYEXT_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(stdc++, "", MYEXT_SHARED_LIBADD) PHP_ADD_LIBRARY(stdc++,EXTRA_LDFLAGS) PHP_NEW_EXTENSION(myext, myext.cpp, $ext_shared)
感谢google,感谢stackoverflow!
之前以为是低版本的php不支持c++的stl库,还跟着错误提示重写那些函数!但发现改了以后还是提示Line0错误!所以决心去找出这个问题!
做这个扩展花了我整整1个星期的时间!从windows上VC,VS的dll ,再到linux的.so,流程都十分熟悉了,希望能对以后的开发有好处...
相关文章推荐
- 再次遇到的问题:Unable to load dynamic library myext.so: undefined symbol
- Unable to load dynamic library -- gd.so
- PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo_mysql.so' - /us
- Unable to load dynamic library '/usr/lib/php5/20121212/pdo_mysql.so'
- Unknown():Unable to load dynamic library 问题解决
- PHP中出现“Unable to load dynamic library”问题的解决方法
- unable to load dynamic library 问题?
- ubuntu16.04解决Unable to load dynamic library '/usr/lib/php/20151012/mysqli.so'
- unable to load dynamic library php_curl.dll
- PHP startup: Unable to load dynamic library的错误
- hadoop 2.2 hbase "Unable to load native-hadoop library for your platform" 问题解决
- PHP7+Phalcon, 配置时出现Warning: PHP Startup: Unable to load dynamic library
- 无法加载php_exifUnable to load dynamic library 'D:/AppServ\php5\ext\php_exif.dll'
- PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\-PHPphp技巧
- Hadoop错误6_WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform问题总结
- 运行hadoop程序出现问题:Unable to load native-hadoop library for your platform
- PHP5.X系列命令行跑php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/··
- ***XAMPP:报错 Unable to load dynamic library的解决方法
- "unable to load dynamic library"错误的解决方法
- Unable to load dynamic library 'c:/php/extensions/php_mssql.dll'