按照
http://mobile.51cto.com/symbian-270525.htm 所述的方法,事先做好好一个动态库 libTaxPlugins.so,希望在另一个工程中调用这个动态库。但在调用时
出错。
与前述文献唯一的区别是,原文是在windows系统下
开发的,动态库后缀名为dll;我的工程是在麒麟操作
系统下开发的,后缀名为 so。
main()
{
……
QPluginLoader pluginLoader("libTaxPlugins.so");
QObject *plugin = pluginLoader.instance();
QString errorStr = pluginLoader.errorString();
……
}
调试发现 errorStr 的值为【Cannot load library /home/wj/Project/TaxPlugins/libTaxPlugins.so.1.0.0:(/home/wj/Project/TaxPlugins/libTaxPlugins.so.1.0.0: undefined symbol: _ZTI3Tax)】
同时 plugin 地址为 0x0,显然是动态库加载
失败,所以后面动态库的调用也未能成功。
请问如何解决这个
问题?