qt调用so共享库

来源:互联网 发布:迅龙数据恢复软件官网 编辑:程序博客网 时间:2024/05/30 20:07

今天测试完成在linux下调用so共享库,和在Windows下调用dll一样。 QLibrary mylib("/home/mylinux/wjp/testso/libposapi.so");用了全路径,当前路径不行,还需要试验。

#include "mainwindow.h"#include "ui_mainwindow.h"#include<QLibrary>typedef  unsigned long (*fun)( unsigned shortInputSize, char*InputXMLString,  unsigned shortOutputSize,   char*OutputXMLString);MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    QLibrary mylib("/home/mylinux/wjp/testso/libposapi.so");    ui->label->setText("myLib load?????");        if (mylib.load())        {            ui->label->setText("myLib load");
             fun open1=(fun)mylib.resolve("PosTaxControlService");             if (!open1)             {                 ui->label->setText("myLib load but err");                 return;             }             else             {                  ui->label->setText("myLib load ok");             }......               int li_ret(0);               li_ret=open1(ilen, ls_strin, outlen, ls_strout);......               mylib.unload();}        else        {             ui->label->setText("myLib not load");        }}MainWindow::~MainWindow(){    delete ui;}


0 0
原创粉丝点击