linux - 在 Fedora 17 上安装 Boost.Log

标签 linux boost installation fedora

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

最佳答案

写了下面的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

关于linux - 在 Fedora 17 上安装 Boost.Log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11601237/

相关文章:

linux - Sketch to psd Converter或Sketch Reader

c++ - 将 boost::bimap 转换为 std::map

visual-studio-2012 - 找不到包源

c++ - 使用属性树在 boost 中解析 xml

c++ - async_pipe 子进程上的 async_read 不提供任何数据

python - 使用 pip 且无 sudo 权限安装 Python 包的推荐方法

linux - 安装 Hep-math 时遇到的问题

linux - 为什么我的 emacs shell 中会出现各种疯狂的字符?

linux - 脚本在没有执行权限的情况下执行脚本

linux - Keepalived mcast_src_ip 不工作