静态库我已经编译以及使用下面的Makefile克++,创建分发
all: sample
sample: sample.o mylib.o
g++ -Wall -O3 -ffast-math -funroll-loops -ansi -pedantic-errors -o sample -L/usr/lib sample.o mylib.o -lboost_serialization -lboost_iostreams -lz -I /usr/include/boost
sample.o: sample.cpp
g++ -O3 -ffast-math -funroll-loops -ansi -pedantic-errors -I /usr/include/boost -c -o sample.o sample.cpp
mylib.o: mylib.cc mylib.h
g++ -O3 -ffast-math -funroll-loops -ansi -pedantic-errors -I /usr/include/boost -c -o mylib.o mylib.cc
现在的代码,mylib.cc和mylib.h包含了很多,我想与大家分享有用的代码。但是,这取决于我的目标受众可能没有的Boost或知道如何正确安装。
有没有办法让我分发一个mylib.o,它是一个静态的mylib.h,我的最终用户不需要安装Boost就可以编译成自己的代码?
附加澄清:mylib.h不包含任何BOOST标题,但mylib.cc包含增强标题。
不是,它是非常烦人的困难,无用和非常规。除了可能与tge用户能够使用安装在他的系统上的增压副本或他自己的副本相冲突之外。 –
所以,我能够彻底根除我的标题中的Boost。但与标题关联的.cc文件使用Boost。那么我有办法做到这一点吗? – user788171
只要你使用boost的头文件部分(大多数boost是头文件),是的,你应该能够分发库和头文件。 –