gpt4 book ai didi

c++ - 如何在 GNUMakefile 中包含 libxml2 库

转载 作者:行者123 更新时间:2023-11-30 05:10:30 24 4
gpt4 key购买 nike

我最近尝试在我的 OpenDDS c++ 项目中包含 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
...
...

最佳答案

我终于解决了这个问题。

刚刚添加

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

关于c++ - 如何在 GNUMakefile 中包含 libxml2 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45658820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com