编写/使用C ++库

时间:2020-03-05 18:47:21  来源:igfitidea点击:

我正在寻找有关以下方面的基本示例/教程:

  • 如何在C ++中编写/编译库(对于Linux是.so文件,对于Windows是.dll文件)。
  • 如何在其他代码中导入和使用这些库。

解决方案

回答

代码

r.cc:

#include "t.h"

int main()
{
    f();
    return 0;
}

void f();

t.cc:

#include<iostream>
#include "t.h"    

void f()
{
    std::cout << "OH HAI.  I'M F." << std::endl;
}

但是如何,如何,如何?!

~$ g++ -fpic -c t.cc          # get t.o
~$ g++ -shared -o t.so t.o    # get t.so
~$ export LD_LIBRARY_PATH="." # make sure t.so is found when dynamically linked
~$ g++ r.cc t.so              # get an executable

如果我们将共享库安装在全局库路径的某个位置,则不需要"导出"步骤。