实验场景说明:
程序链接动态库,动态库链接静态库
(没看到怎么插入c++代码,插入c#代替吧)
staticlib.h








staticlib.cpp







dynamic.h









dynamic.cpp










test.cpp








手工编写的makefile










make到最后报错,会说动态库链接不到sf
nm libdynamic.so 会发现sf的符号链接没有找到
按下面方式修改其中一处就可编译通过
dynamic: dynamiclib.o g++ dynamiclib.cpp -o libdynamic.so -fPIC -shared -L. -lstatic
或者
test:test.o
g++ -I./ -L./ -L/usr/local/lib -ldynamic test.o -o test -lstatic
这说明动态库链接静态库,可以在生成动态库的时候就链接进去,也可以到生成可执行文件时再链接
用autoconf和automake犯了个错误,在此记下
configure.in






















Mafile.am
















然后
libtoolize --force
aclocal
autoconf
automake -a
./configure
make
可以在.libs/下面找到生成的东东