求救:关于Linux下用make生成CORBA框架的问题

发布于 2022-06-30 06:09:52 字数 20553 浏览 17 评论 0

用命令idlgen 基于一个IDL文件生成CORBA框架,然后用make的时候,却老是出现错误。报出的错误是
g++: InterDomainMgntModule_IInterDomainMgntImpl.o: No such file or directory
make: *** [server] Error 1
不知道是不是Makefile写错了,还是.o文件依赖的.h或是.cxx文件有错误?如果是
h或是.cxx文件有错误,为什么不报具体错误呢?
请哪位大侠帮帮小女子,先谢过了!!
我的Makefile是:
#------------------------------------------------------------------------------
# Edit the idlgen.cfg to have your own copyright notice placed here.
#------------------------------------------------------------------------------

#####################################################################
#
#
#          Copyright (c) 1993-2003 IONA Technologies PLC.
#                         All Rights Reserved.
#
#
#####################################################################

RM=                                rm -f
RMDIR=                                rm -rf

IT_PRODUCT_DIR=                 /opt/iona
IT_PRODUCT_VER=                        6.0

ART_IDL_INCLUDE_DIR=            $(IT_PRODUCT_DIR)/asp/$(IT_PRODUCT_VER)/idl

ART_BIN_DIR=                    $(IT_PRODUCT_DIR)/asp/$(IT_PRODUCT_VER)/bin

IDL=                            $(ART_BIN_DIR)/idl
ITADMIN=                        $(ART_BIN_DIR)/itadmin
#####################################################################
#
#
#          Copyright (c) 1993-2003 IONA Technologies PLC.
#                         All Rights Reserved.
#
#
#####################################################################

ART_LIB_DIR=                        $(IT_PRODUCT_DIR)/asp/$(IT_PRODUCT_VER)/lib
ART_CXX_INCLUDE_DIR=                $(IT_PRODUCT_DIR)/asp/$(IT_PRODUCT_VER)/include

IT_PRODUCT_SHLIB_DIR=                $(IT_PRODUCT_DIR)/shlib
IT_PRODUCT_DEF_SHLIB_DIR=             $(IT_PRODUCT_DIR)/shlib/default

CXX=                                g++ -w

CXXFLAGS=                        -I$(ART_CXX_INCLUDE_DIR)       
                                -g -Wno-ctor-dtor-privacy -Wno-deprecated   -D_REENTRANT               
                                -DENABLE_TRACE               
                                $(EXTRA_CXXFLAGS)               
                                $(CXXLOCAL_DEFINES)

CXXLDFLAGS=                        $(CXXFLAGS) -rdynamic -L/usr/local/lib -Wl,-t -lpthread -lrt

CLEAN_TEMPL_REPOSITORY=         

CXXSHLIBFLAGS=                        $(CXXFLAGS) -fPIC

SHLIB_CXX_COMPILER_ID=          gcc32

SHLIBSUFFIX=                        so

DEMO_SHLIB_FILE_NAME=               

SHLIBLDFLAGS=                        -rdynamic -Wl,-Bdynamic -Wl,-export-dynamic -shared -rdynamic -L/usr/local/lib -Wl,-t -lpthread -lrt

LDLIBS=                                -L$(ART_LIB_DIR)               
                                -L$(IT_PRODUCT_SHLIB_DIR)       
                                -L$(IT_PRODUCT_DEF_SHLIB_DIR) $(EXTRA_LIB_PATH)
                                $(LINK_WITH)   

ORACLE_BIN_DIR=                 $(ORACLE_HOME)/bin
ORACLE_LIB_DIR=                 $(ORACLE_HOME)/lib
ORACLE_INCLUDES=                -I$(ORACLE_HOME)/precomp/public
PRO_CXX_FLAGS=                  -fpermissive
PROC_INCLUDES=                  include=/usr/include include=$(ART_CXX_INCLUDE_DIR)

OBJS=                                $(SOURCES:.cxx=.o)

.SUFFIXES:                        .pc .cxx

# These demo makefiles do not support clearmake parallel builds
# .NOTPARALLEL:

.pc.cxx:
        $(ORACLE_BIN_DIR)/proc $< code=cpp lines=yes parse=partial cpp_suffix=cxx threads=no define=IT_PROC $(PROC_INCLUDES)

.cxx.o:
        $(RM) $@
        $(CXX) -c $(CXXFLAGS) -o $@ $<
.c.o:
        $(RM) $@
        $(CXX) -c $(CXXFLAGS) -o $@ $<

#####################################################################
#
#
#          Copyright (c) 1993-2003 IONA Technologies PLC.
#                         All Rights Reserved.
#
#
#####################################################################

# Libraries to link with clients and servers.

CLIENT_LIBS=          -lit_dynany -lit_art                                         -lit_ifc
SERVER_LIBS=          -lit_dynany -lit_poa                                         -lit_art                                         -lit_ifc
NAMING_LIBS=          -lit_naming
GENIE_LIBS=           -lit_genie
LINK_WITH=         $(NAMING_LIBS)  
                $(GENIE_LIBS)

# Extra flags from genie options and configuration files.

EXTRA_CXXFLAGS=         
EXTRA_LDFLAGS=   
IDLFLAGS=        -base -poa  -I$(ART_IDL_INCLUDE_DIR)

# Lists of files used by make rules.

# IDL generated files used by clients and servers.
IDL_CLT_HH=         InterDomainMgntIf.hh
                ResMgntIf.hh
                ACIf.hh
                SLAManagement.hh
                SLATManagement.hh
                SLSManagement.hh
                SLSTManagement.hh
                RMServer.hh
                CTopoInfo.hh
IDL_CLT_OBJ=         InterDomainMgntIfC.o
                ResMgntIfC.o
                ACIfC.o
                SLAManagementC.o
                SLATManagementC.o
                SLSManagementC.o
                SLSTManagementC.o
                RMServerC.o
                CTopoInfoC.o
# Genie generated files used by clients and servers.
# Object files needed for clients and servers.
COMMON_OBJ=         $(IDL_CLT_OBJ)
                it_random_funcs.o
                it_print_any.o
                it_print_funcs.o
# Additional IDL generated files for servers.
IDL_SRV_HH=         InterDomainMgntIfS.hh
                ResMgntIfS.hh
                ACIfS.hh
                SLAManagementS.hh
                SLATManagementS.hh
                SLSManagementS.hh
                SLSTManagementS.hh
                RMServerS.hh
                CTopoInfoS.hh
IDL_SRV_OBJ=         InterDomainMgntIfS.o
                ResMgntIfS.o
                ACIfS.o
                SLAManagementS.o
                SLATManagementS.o
                SLSManagementS.o
                SLSTManagementS.o
                RMServerS.o
                CTopoInfoS.o
# Additional genie generated files for servers.

SERVANT_H=         InterDomainMgntModule_IInterDomainMgntImpl.h
SERVANT_OBJ=         InterDomainMgntModule_IInterDomainMgntImpl.o
SERVER_OBJ=         $(COMMON_OBJ)
                $(IDL_SRV_OBJ)
                $(SERVANT_OBJ)
                it_servant_base_overrides.o

# Targets
#

all: server

CLIENT_LINK=         client.o
                call_funcs.o
                $(COMMON_OBJ)
SERVER_LINK=         RM_InterDomainMgnt_Main.o
                $(SERVER_OBJ)
                ASIPInfo.o
                ASRouterInfo.o
                CIPAddress.o
                ERInterface.o
                GlbSLS.o
                IP.o
                Router.o
                SingleInterface.o
                SingleSLS.o
                strace.o

client: $(CLIENT_LINK)
        $(CXX) -o client $(CXXLDFLAGS) $(EXTRA_LDFLAGS) $(CLIENT_LINK)  $(LDLIBS) $(CLIENT_LIBS)

server: $(SERVER_LINK)
        $(CXX) -o InterDomainMgnt $(CXXLDFLAGS) $(EXTRA_LDFLAGS) $(SERVER_LINK) $(LDLIBS) $(SERVER_LIBS)

# Object file dependencies
#

call_funcs.o:         call_funcs.h
                it_print_funcs.h
                it_random_funcs.h
                $(IDL_CLT_HH)

it_servant_base_overrides.o:         it_servant_base_overrides.h

client.o:         $(IDL_CLT_HH)
                call_funcs.h
                it_print_funcs.h
                it_random_funcs.h

RM_InterDomainMgnt_Main.o:         $(IDL_SRV_HH)
                $(SERVANT_H)
                it_print_funcs.h
                it_random_funcs.h
                it_servant_base_overrides.h

InterDomainMgntModule_IInterDomainMgntImpl.o:         InterDomainMgntModule_IInterDomainMgntImpl.h
                $(IDL_SRV_HH)
                it_print_funcs.h
                it_random_funcs.h
                it_servant_base_overrides.h
               
ASIPInfo.o: ASIPInfo.h

ASRouterInfo.o: ASRouterInfo.h

CIPAddress.o: CIPAddress.h

ERInterface.o: ERInterface.h

GlbSLS.o: GlbSLS.h

IP.o: IP.h

Router.o: Router.h

SingleInterface.o: SingleInterface.h

SingleSLS.o: SingleSLS.h

strace.o: strace.h

# IDL Generated code dependencies
#

InterDomainMgntIfC.cxx InterDomainMgntIfS.cxx InterDomainMgntIfS.hh InterDomainMgntIf.hh: /home/Huangjing/idl-unix/InterDomainMgntIf.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/InterDomainMgntIf.idl

InterDomainMgntIfC.o InterDomainMgntIfS.o: InterDomainMgntIf.hh

ResMgntIfC.cxx ResMgntIfS.cxx ResMgntIfS.hh ResMgntIf.hh: /home/Huangjing/idl-unix/ResMgntIf.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/ResMgntIf.idl

ResMgntIfC.o ResMgntIfS.o: ResMgntIf.hh

ACIfC.cxx ACIfS.cxx ACIfS.hh ACIf.hh: /home/Huangjing/idl-unix/ACIf.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/ACIf.idl

ACIfC.o ACIfS.o: ACIf.hh

SLAManagementC.cxx SLAManagementS.cxx SLAManagementS.hh SLAManagement.hh: /home/Huangjing/idl-unix/SLAManagement.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/SLAManagement.idl

SLAManagementC.o SLAManagementS.o: SLAManagement.hh

SLATManagementC.cxx SLATManagementS.cxx SLATManagementS.hh SLATManagement.hh: /home/Huangjing/idl-unix/SLATManagement.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/SLATManagement.idl

SLATManagementC.o SLATManagementS.o: SLATManagement.hh

SLSManagementC.cxx SLSManagementS.cxx SLSManagementS.hh SLSManagement.hh: /home/Huangjing/idl-unix/SLSManagement.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/SLSManagement.idl

SLSManagementC.o SLSManagementS.o: SLSManagement.hh

SLSTManagementC.cxx SLSTManagementS.cxx SLSTManagementS.hh SLSTManagement.hh: /home/Huangjing/idl-unix/SLSTManagement.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/SLSTManagement.idl

SLSTManagementC.o SLSTManagementS.o: SLSTManagement.hh

RMServerC.cxx RMServerS.cxx RMServerS.hh RMServer.hh: /home/Huangjing/idl-unix/RMServer.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/RMServer.idl

RMServerC.o RMServerS.o: RMServer.hh

CTopoInfoC.cxx CTopoInfoS.cxx CTopoInfoS.hh CTopoInfo.hh: /home/Huangjing/idl-unix/CTopoInfo.idl
        $(IDL) $(IDLFLAGS) /home/Huangjing/idl-unix/CTopoInfo.idl

CTopoInfoC.o CTopoInfoS.o: CTopoInfo.hh

CLEAN_FILES=         *.ref
                *.o
                $(IDL_CLT_HH)
                $(IDL_CLT_OBJ:.o=.cxx)
                $(IDL_SRV_HH)
                $(IDL_SRV_OBJ:.o=.cxx)
                server
                client
                InterDomainMgnt
                core
CLEAN_ALL_FILES=         $(SERVER_LINK:.o=.cxx)
                $(SERVER_LINK:.o=.h)
                $(CLIENT_LINK:.o=.cxx)
                $(CLIENT_LINK:.o=.h)
                Makefile

# clean rule deletes object files, executables and IDL generated files.
clean:
        $(RM) $(CLEAN_FILES)
        $(CLEAN_TEMPL_REPOSITORY)

# clean_all rule deletes *all* genie generated files, including this makefile!!
clean_all: clean
        $(RM) $(CLEAN_ALL_FILES)

# make regenerate re-generates the source files (including this Makefile).
# WARNING: this will overwrite any changes you may have made!
#
regenerate:
        idlgen cpp_poa_genie.tcl -all -ns /home/Huangjing/idl-unix/InterDomainMgntIf.idl -dir /home/Huangjing/idl-unix/InterDomainMgntIf_test

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文