Archived

This forum has been archived. Please start a new discussion on GitHub.

slice2docbook

Hi,

I am using v3.0.1. Now if I do this:
slice2docbook -I"c:\program files\coding\ice\slice" c:\doc.sgml Session.ice

Nothing is generated except for errors... => -I can't handle spaces in filenames...

so I do: -I"c:\progra~1\..."

Now no errors, but no sgml file also??


I'm wondering... Is it supposed to work this way? I searched my whole harddrive to find the place where it's saved, but found nothing... BTW... The ice file 'compiles' fine with slice2cpp... Ok, make that 'compiled'. It's a while since I 'compiled' last the .ice files (was back then with 3.0.0), I'm going to investigate via the source where the problem is...

How should I put comments in the slice-files which I want to appear in the docbook format? As browsing through the docbook site didn't help me much :( ... Couldn't find anything close to doxygen's simple layout...


Thanks for any reply

**edit**
I just figured out I couldn't 'compile' ANY .ice file... It's always returning 1 somewhere in Gen.cpp, parse_file()...
Which is uterly weird as I could parse everything nicely before...

So it's NOT an error in 3.0.1, as I reinstalled 3.0.0 and it happened as well (return status = 1 = EXIT_FAILURE)...

What could be the issue here? I couldn't even 'compile' Printer.ice, some example from the Ice-directory (subdir: book).

Thanks

**edit**
Did some more investigation...

Everything runs perfect except for icecpp.close(); For some kind of reason "preprocessor.cpp @ 288" returns 1: " int status = _pclose(_cppHandle);"

BUT!!! if I just remove the check in the calling file "Main.cpp @ 185": " if(!icecpp.close())", then everything puts out nicely the intended sgml file...

I wonder why the _popen/_pclose functions doesn't work as intended?? _popen works as should... It doesn't return NULL..., _pclose does not work as intended... It returns 1 where it should return 0.

MSDN: "[_pclose] returns the exit status of the terminating command processor, or –1 if an error occurs.".

My interpretation: "icecpp.exe -C "Printer.ice"" returns 1...

My idea: Let's run this thing and see what it does... *ran it* returns '0'... ??? Check output below:
E:\XXX\Ice-3.0.1\src\slice2docbook|► icecpp.exe -C "Printer.ice"
# 1 "Printer.ice"
// **********************************************************************
//
// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************




module Demo
{

    interface Printer
    {
        void printString(string s);
    };

};



 E:\XXX\Ice-3.0.1\src\slice2docbook|► echo %errorlevel%
0

Now I'm really out of ideas...


Anyone?