求救:关于Linux下用make生成CORBA框架的问题
用命令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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论