编写/使用C ++库

时间:2008-09-03 22:46:45

标签: c++

我正在寻找基本的示例/教程:

  1. 如何用C ++编写/编译库(Linux的.so文件,Windows的.dll文件。

  2. 如何在其他代码中导入和使用这些库。

1 个答案:

答案 0 :(得分:16)

代码

r.cc

#include "t.h"

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

t.h

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

如果沿着全局库路径在某处安装共享库,则不需要export步骤。