PDA

View Full Version : What SLX.exe in the OT build system?



Mike Weiss
09-23-2008, 12:47 PM
What is the deal with slx.exe used to "compile" secdbcode.cpp? Is the CPP encrypted?? Why?!

I'm trying to:

1) Upgrade my Stingray 2006 to build with VC++ 2008 - which seems to work after some minor changes. I'm sure this is "not supported" - but this isn't really part of my question. BUT, at the same time I'm...

2) Make it so that release builds make PDB files. Adding the compile switches to do this in bldback.mak seems to mess up whatever magic "SLX.exe" is doing. It never creates an OBJ file. I've worked around this in some interesting ways - but I want to know why this system is even in place?

ron.inbar
10-05-2011, 06:05 AM
Hi Mike,

I just ran into slx.exe while migrating to VS2010. I'm trying to build OC701d.lib (debug) without changing anything in the makefile, but I'm getting the following error:


..\src\chart\discrete\srgdbcodeb.cpp(1): error C2855: command-line option '/Z7' inconsistent with precompiled header

Looks like slx.exe removes the /Zi option (among others) from the cl.exe command line and this is what causes the error.
I'm curious to hear how you worked around your problems three years ago.

Thanks,

Ron



What is the deal with slx.exe used to "compile" secdbcode.cpp? Is the CPP encrypted?? Why?!

I'm trying to:

1) Upgrade my Stingray 2006 to build with VC++ 2008 - which seems to work after some minor changes. I'm sure this is "not supported" - but this isn't really part of my question. BUT, at the same time I'm...

2) Make it so that release builds make PDB files. Adding the compile switches to do this in bldback.mak seems to mess up whatever magic "SLX.exe" is doing. It never creates an OBJ file. I've worked around this in some interesting ways - but I want to know why this system is even in place?

pprandive
12-21-2011, 12:01 AM
Hi Ron,

I, too, ran into the same issue when I tried building Stingray-Toolkit and Grid. I managed to resolve it for Grid by adding /Z7 in its makefile. Same change worked for 'Toolkit' and the error got resolved but another error came.

1> Linking...
1>OT804asd.def(2): warning LNK4017: DESCRIPTION statement not supported for the target platform; ignored
1>OT804asd.def : error LNK2001: unresolved external symbol _pAtlChainRawDllMain
1>.\objs\OT804asd/OT804asd.lib : fatal error LNK1120: 1 unresolved externals
1>NMAKE : fatal error U1077: 'toolkit\dllxport.bat' : return code '0x460'

Can you please help me out in resolving this. Can you please let me know if you get rid of these porting issues.

Thanks and Regards,
Prafulla

ron.inbar
12-21-2011, 02:23 AM
Hi Prafulla,

I don't remember if I got the same errors as you did, and it's going to take me a while to retrieve the solution, but here is the gist of it:
slx.exe decodes an encrypted .cpp file and then invokes cl.exe on the decrypted file with some, but not all, of the command-line arguments that were passed to it.
What I did was to replace the encrypted secdbcode.cpp with a version that was decrypted by a previous (unsuccessful) invocation of slx.exe, and then change the makefile so that instead of calling slx.exe it calls cl.exe as for all the other .cpp files.

Hope this helps,

Ron