【发布时间】:2017-08-24 01:13:40
【问题描述】:
我有一棵程序树,其中包含
outter.cc, outter.h
b.cc, b.h
c.cc, c.h
每个.cc 文件看起来像这样:
outter.cc:
#include "b.h"
// do something
b.cc
#include "c.h"
// do something
c.cc
//do something
outer.cc 中是一堆 API 定义。我想生成一个 .so 文件,以便其他人在将他们的程序链接到这个 .so 文件时可以使用我的 API。
我的问题包括:
-
如何生成这个 .so 文件?我基本上是将所有代码“打包”到 .so 文件中
-
如果我设法生成了这个 .so 文件,如何使用它?假设我在另一个目录
/home/xavier/test/中有一个main.cc文件,并且在/home/xavier/test/中也有生成的.so 文件。我应该如何编写这个main.cc以及我应该如何编译这个 main.cc 文件以使其使用我在 outter.cc 中定义的 API?
我正在使用 Mac OS X 和 g++
谢谢!
【问题讨论】:
标签: c++ g++ shared-libraries