在Fedora 17上安装Boost.Log

时间:2012-07-22 14:47:35

标签: linux boost install fedora

我正在尝试在Fedora 17上安装Boost.Log并且已经yum install boost-*。所有相关的教程和类似问题的答案都涉及将lib / log移动到boost源目录并执行bootstrap.sh。我找不到我的系统中的boost源目录或bootstrap.sh文件(做find / -name '*bootstrap.sh' 2> /dev/null)。我能找到的只有/usr/share/boost-build/,里面有很多果酱文件。得出yum安装不包含源目录和bootstrap.sh的结论,我尝试手动构建它,但Boost.Log源文件包含特定于Windows的标题,我对此感到困惑。任何人都可以对此有所了解吗?

2 个答案:

答案 0 :(得分:0)

编写以下Makefile进行编译和安装,其中不包含引用windows.h的文件,我相信它有效:

SRCS= attribute_name.cpp attribute_set.cpp attribute_values_view.cpp \
      code_conversion.cpp core.cpp \
      default_filter_factory.cpp default_sink.cpp event.cpp \
      exceptions.cpp filter_parser.cpp \
      formatter_parser.cpp global_logger_storage.cpp init_from_settings.cpp \
      init_from_stream.cpp light_rw_mutex.cpp named_scope.cpp \
      once_block.cpp parser_utils.cpp process_id.cpp \
      record_ostream.cpp severity_level.cpp syslog_backend.cpp \
      text_file_backend.cpp text_ostream_backend.cpp thread_id.cpp \
      threadsafe_queue.cpp thread_specific.cpp timer.cpp \
      timestamp.cpp trivial.cpp
OBJS=$(SRCS:.cpp=.o)
CXXFLAGS=-std=c++11 -DBOOST_FILESYSTEM_VERSION=2
libboost_log.so: $(OBJS)
  g++ -shared $^ -o $@ -lpthread -lboost_system -lboost_thread-mt -lrt -lboost_filesystem
%.o: %.cpp
  g++ $(CXXFLAGS) -fPIC -c $^ -o $@
install:
  cp libboost_log.so /usr/lib
clean: 
  rm *.o

答案 1 :(得分:0)

事实证明,当前Fedora repo的yum boost-build软件包中的主要构建工具被称为" bjam"而不是" b2" (如最新文件所暗示的那样)。

所以,如果你找不到b2使用bjam。