【问题标题】:How to include libxml2 library on GNUMakefile如何在 GNUMakefile 中包含 libxml2 库
【发布时间】:2017-08-13 09:11:28
【问题描述】:

我最近尝试在我的 OpenDDS c++ 项目中包含 libxml2。

但是,我不知道如何在 GNUMakefile 中包含这个库。

如何在这个 GNUmake 文件中包含 libxml2?

另外,我曾尝试像这样在 GNUMakefile 上添加命令。

LIB = /usr/local/xml/lib

但是,还是不行。

我的 GNUMake 文件在这里:

    MAKEFILE         = GNUmakefile.DDS_Messenger_Publisher
    DEPENDENCY_FILE  = .depend.DDS_Messenger_Publisher
    BIN_UNCHECKED    = publisher

    LIB_PREFIX      ?= lib

    TAO_ROOT  ?= $(ACE_ROOT)/TAO

    FILES = \
      publisher.cpp \
      Writer.cpp


    LIBPATHS := . "$(ACE_ROOT)/lib" "../../../lib"

    #----------------------------------------------------------------------------
    #       Include macros and targets
    #----------------------------------------------------------------------------
    LDLIBS = -lDDS_Messenger_Idl -lOpenDDS_Shmem -lOpenDDS_Rtps_Udp -lOpenDDS_Rtps -lOpenDDS_Multicast -lOpenDDS_Udp -lOpenDDS_Tcp -lOpenDDS_InfoRepoDiscovery -lOpenDDS_Dcps -lTAO_BiDirGIOP -lTAO_PI -lTAO_CodecFactory -lTAO_PortableServer -lTAO_AnyTypeCode -lTAO -lACE
    TAO_IDL = $(ACE_ROOT)/bin/tao_idl
    TAO_IDL_DEP = $(ACE_ROOT)/bin/tao_idl$(EXEEXT)
    TAO_IDLFLAGS = -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT)$(if $(ARCH), -g $(call ADD_QUOTE,$(call ADD_ARCH,$(ACE_ROOT)/bin/ace_gperf)))

    PRJ_TYPE = rtp

    ifeq ($(INSBIN),.)
      ifeq ($(CURDIR),)
        ifeq ($(PWD),)
          PWD=$(shell pwd)
        endif
      else
        PWD=$(CURDIR)
      endif
      INSBIN = $(PWD)
    endif
    OUTPUT_DIRECTORY = $(if $(ARCH),./$(ARCH))

    include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU

    include $(DDS_ROOT)/rules.dds.GNU

    include $(TAO_ROOT)/rules.tao.GNU
...
...

【问题讨论】:

  • libxml2 FAQ。如果在您的系统上可用,pkg-config 可能会提供更好的结果。

标签: c++ makefile gnu-make libxml2 opendds


【解决方案1】:

我终于解决了这个问题。

刚刚添加

LIBXML_ROOT ?= /usr/local/xml

LDLIBS = -lDDS_Messenger_Idl -lOpenDDS_Shmem ... -L$(LIBXML_ROOT)/lib -lxml2
...
CPPFLAGS     += -I$(ACE_ROOT) -I$(TAO_ROOT) -I../../.. -I$(LIBXML_ROOT)/include/libxml2

【讨论】:

猜你喜欢
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多