库由abc.h和abc.cpp组成:
~/cpp/mylib$ cat lib/abc.h
class Abc {
public:
Abc();
void log();
};
~/cpp/mylib$ cat lib/abc.cpp
//动态:g++ -shared -fPIC -o libabc.so abc.h abc.cpp
//静态:
//g++ -O -c abc.h abc.cpp
//ar -rsv libabc.a abc.o
#include "abc.h"
#include <stdio.h>
Abc::Abc() {
printf("%s,%d\n",__FUNCTION__,__LINE__);
}
void Abc::log() {
printf("%s,%d\n",__FUNCTION__,__LINE__);
测试文件abcmain.cpp:
cox@cox:~/cpp/mylib$ cat abcmain.cpp
//动态:g++ abcmain.cpp -o abcmain -labc
//静态:g++abcmain.cpp -o abcmainstatic -L ./ -labc
#include "abc.h"
int main() {
Abc abc;
abc.log();
}