2017-08-13 6 views
1

最近、OpenDDSのC++プロジェクトにlibxml2を含めるようにしました。GNUMakefileにlibxml2ライブラリを含めるには

しかし、このライブラリをGNUMakefileに組み込む方法はわかりません。

このGNUmakeファイルにlibxml2を含めるにはどうすればよいですか?

また、このようにGNUMakefileにコマンドを追加しようとしました。

LIB = /usr/local/xml/lib 

しかし、まだ動作しません。

マイたGNUmakefileはここにある:私は最終的にこの問題を解決し

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 
... 
... 
+0

を加えました。あなたのシステムで利用可能な場合、 'pkg-config'はよりよい結果をもたらすかもしれません。 – nwellnhof

答えて

1

はちょうど[libxml2のよくある質問(http://xmlsoft.org/FAQ.html#Developer)を参照

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 
+0

もう1つの方法は、libxml2用のMPC(https://github.com/DOCGroup/MPC/blob/master/config/zzip.mpbなど)に基本プロジェクトを追加し、この依存関係でMPCファイルを更新することです。 –

関連する問題