g++编译生成动态库并使用

windows版本

一、生成dll

1、新建源文件

myfunction.h

#ifndef MYFUNCTION_H
#define MYFUNCTION_H
#include <iostream>

class Myfunction
{
public:
    Myfunction();
    static void log(char info);
};

#endif // MYFUNCTION_H

myfunction.cpp

#include "myfunction.h"

Myfunction::Myfunction()
{

}

void Myfunction::log(char info)
{
    std::cout << info;
}

2、编译

打开cmd,执行

g++ myfunction.cpp -I D:workCppSpaceTestdll  -shared -o myfunction.dll

-I D:workCppSpaceTestdll 如果不填则默认在当前路径查找依赖头文件

 是否需要使用-fPIC?暂未接触

3、生成dll

二、使用dll

1、将生成的myfunction.dll和myfunction.h放在独立文件夹里

2、新建main.cpp

#include <iostream>
#include "myfunction.h"
int main(int argc, char *argv[])
{
    std::cout << "main:" << std::endl;

    Myfunction::log('c');
    getchar();
    return 0;
}

3、编译

打开cmd,输入

g++ myfunction.dll main.cpp -o my.exe

即可生成my.exe

4、双击exe测试

linux版本

待学习




长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html
原文地址:https://www.cnblogs.com/judes/p/15228331.html