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
...
...
參見[libxml2的FAQ](http://xmlsoft.org/FAQ.html#Developer)。如果你的系統可用,'pkg-config'可能會給出更好的結果。 – nwellnhof