Linux下第三方库的使用
Linux下第三方库通常是以.so为后缀的文件,创建方法如下。创建第三方库文件linuxdll.h 和 linuxdll.cpp
linuxdll.h
#ifndef LINUXDLL_H
#define LINUXDLL_H
#ifdef WIN32
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT
#endif
class DLL_EXPORT CDll
{
public:
CDll();
~CDll();
void SetValue(int nValue);
int GetValue();
int m_nValue;
};
#endif
linuxdll.cpp
#include "linuxdll.h"
CDll::CDll()
:m_nValue(0)
{
}
CDll::~CDll()
{
}
void CDll::SetValue(int nValue)
{
m_nValue = nValue;
}
int CDll::GetValue()
{
return m_nValue;
}
用g++ -g linuxdll.cpp -fPIC -I . -shared -o liblinux.so生成so文件
创建调用程序linuxtest.cpp
#include <iostream>
#include "linuxdll.h"
#pragma comment(lib, "linuxdll.lib")
int main(int argc, char* argv[])
{
CDll cdll;
cdll.SetValue(999);
int nvalue = cdll.GetValue();
std::cout<<"the value is "<<nvalue<<std::endl;
return 0;
}
用g++ -g linuxtest.cpp -I . -L . -llinux -o test生成可执行文件test
执行./test即可成功运行程序