Hi,
Mico is not compiling correctly under Visual C++ v8. In particular when executing idl.exe
a dialog box appears stating, "Can not find MSVCR80.dll".
I just installed the VS Express from the link below, also Platform SDK ,
added the correct paths to INCLUDE and LIB.
I compiled successfully this package of MICO:
http://www.mico.org/~msorin/mico-cl8-15.05.06.zip
IDL does not crash, the manifests are added correctly ...
I have absolutely no problem ...
I have read a previous mico-devel post discussing this problem:
http://www.mail-archive.com/[email protected]/msg00136.html
I have made the following change to the idl makefile:
idl.exe: main.obj $(DLL_OBJS)
$(LINK) $(LINKFLAGS) main.obj $(DLL_OBJS) \
/subsystem:console $(LIBS) ole32.lib \
/out:idl.exe \
/MANIFEST /MANIFESTFILE:"idl.exe.intermediate.manifest" <---
Added
mt.exe /outputresource:"idl.exe;1" /manifest idl.exe.intermediate.manifest
<--- Added
idl$(VERSION).dll: $(DLL_OBJS) idl$(VERSION).def
$(LINK) $(LINKDLLFLAGS) $(DLL_OBJS) ole32.lib $(LIBS) \
/out:idl$(VERSION).dll \
/def:idl$(VERSION).def \
/MANIFEST /MANIFESTFILE:"idl$(VERSION).dll.intermediate.manifest"
<--- Added
mt.exe /outputresource:"idl$(VERSION).dll;2" /manifest
idl$(VERSION).dll.intermediate.manifest <--- Added
Those options marked as "Added" are not needed ... The manifests are
added with the command mt called with special params ...
$(MT) -manifest idl.exe.manifest -outputresource:idl.exe;#1
$(MT) -manifest idl$(VERSION).dll.manifest
-outputresource:idl$(VERSION).dll;#1
Just to make sure the order is correct, I have changed the
idl/makefile.win32 a little. Please find it attached. Just replace your
existing one.
and now when executing idl.exe I get a dialog box that states, "idl.exe has
encountered a problem and needs to close."
I don't know if it will help, but the 'Error signature' states:
AppName: idl.exe AppVer: 0.0.0.0 ModName: msvcr80.dll
ModVer: 8.0.50727.42 Offset: 00008890
I think I know why you get this error. You are using the wrong
msvcr80.dll. Just make a search after this dll. You will find a lot of
them .. one for each processor and for each build type (32 or 64 b).
Please execute from Platform SDK the "SetEnv.Cmd" from the window where
you executed vsvars32.bat of VSTUDIO.
Or better, just add in the above batch file something like this:
call "<path>\Microsoft Platform SDK\SetEnv.Cmd /XP32"
or .. see the other params.
Note: the default target is DEBUG.
Note: we haven't tested yet MICO compiled native on 64b.
Can you help? If you do not have Visual C++ v8 you can get a free version at
http://msdn.microsoft.com/vstudio/express/visualc/download/
Thank you so much,
Brian Heilig
--
Regards,
Sorin Mustaca
Website: http://www.mustaca.de
Blog:http://www.mustaca.de/blog
#
# MICO --- a CORBA 2.0 implementation
# Copyright (C) 1997 Kay Roemer & Arno Puder
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Send comments and/or bug reports to:
# [EMAIL PROTECTED]
#
RELATIVE = ..
!include ..\MakeVars.win32
CXXFLAGS = $(CXXFLAGS)
CXXFLAGS = $(CXXFLAGS) /I. /I..\include /I..\include\windows
LIBS = ../win32-bin/lib/mico$(VERSION).lib
SRCS = params.cc codegen-c++-common.cc codegen-idl.cc codegen-c++-skel.cc \
codegen.cc parsenode.cc codegen-c++-stub.cc const.cc \
parser.cc codegen-c++-util.cc codegen-c++-impl.cc db.cc \
prepro.cc codegen-c++.cc dep.cc error.cc scanner.cc \
codegen-midl.cc idlparser.cc yacc.cc ir-copy.cc keymap.cc \
codegen-wsdl.cc
!ifdef USE_CCM
SRCS = $(SRCS) ccm-transform.cc
LIBS = $(LIBS) ..\win32-bin\lib\ir$(VERSION).lib
!endif
!ifdef VC8
IDLEXE_VC8_FLAGS = /manifest /manifestfile:idl.exe.manifest
IDLDLL_VC8_FLAGS = /manifest /manifestfile:idl($VERSION).dll.manifest
!else
IDLEXE_VC8_FLAGS =
IDLDLL_VC8_FLAGS =
!endif
all: lib prg
DLL_SRCS = $(SRCS)
DLL_OBJS = $(DLL_SRCS:.cc=.obj)
lib: idl$(VERSION).dll
#need to install these in order to have idl for coss
prg: idl.exe copy
install: prg copy
copy:
$(COPY) idl$(VERSION).dll ..\win32-bin
$(COPY) idl$(VERSION).lib ..\win32-bin\lib
$(COPY) idl.exe ..\win32-bin
idl.exe: main.obj $(DLL_OBJS)
$(LINK) $(LINKFLAGS) main.obj $(DLL_OBJS) \
/subsystem:console $(LIBS) ole32.lib \
/out:idl.exe
#$(IDLEXE_VC8_FLAGS)
!ifdef VC8
$(MT) -manifest idl.exe.manifest -outputresource:idl.exe;#1
!endif
idl$(VERSION).dll: $(DLL_OBJS) idl$(VERSION).def
$(LINK) $(LINKDLLFLAGS) $(DLL_OBJS) ole32.lib $(LIBS) \
/out:idl$(VERSION).dll \
/def:idl$(VERSION).def
!ifdef VC8
$(MT) -manifest idl$(VERSION).dll.manifest
-outputresource:idl$(VERSION).dll;#1
!endif
#$(IDLDLL_VC8_FLAGS)
idl$(VERSION).def: $(DLL_OBJS)
..\win32-bin\gendef idl$(VERSION).def idl$(VERSION) $(DLL_OBJS)
clean:
-$(DELETE)_______________________________________________
Mico-devel mailing list
[email protected]
http://www.mico.org/mailman/listinfo/mico-devel