Page 1 of 1

link error

Posted: 20 Dec 2017 0:21
by jeanclaude
Hello,
I am in the process of converting a VIP5.2 project in a vip6.1 project. I have no more compilation error, but getting to the link stage I got these messages :

Error 2525: 'C:\GridFactory\selectvp6\Obj\selectvp6.obj' - undefined name 'c$_builtIn$domains$pointer'
Error 2525: 'C:\GridFactory\selectvp6\Obj\selectvp6.obj' - undefined name 'c$_builtIn$domains$unsigned'
Error 2525: 'C:\GridFactory\selectvp6\Obj\selectvp6.obj' - undefined name 'class$@global'
Error 2525: 'C:\GridFactory\selectvp6\Obj\string.obj' - undefined name 'c$_builtIn$domains$char'
Error 2525: 'C:\GridFactory\selectvp6\Obj\binary.obj' - undefined name 'c$_builtIn$domains$real'
Error 2525: 'C:\GridFactory\selectvp6\Obj\selectvp6.obj' - undefined name 'c$_builtIn$domains$integer'
Error 2525: 'C:\GridFactory\selectvp6\Obj\selectvp6.obj' - undefined name 'c$_builtIn$domains$string'
Error 2525: 'C:\GridFactory\selectvp6\Obj\exception.obj' - undefined name 'interface$object'

I am using vip6.1 because I have it and also I thought it would be closer to the VIP5.2 version?

Thank you very much for the help

Jean-Claude

Re: link error

Posted: 21 Dec 2017 10:04
by Thomas Linder Puls
It looks like you don't have a goal. The build-in domains are generated in the file that contains the goal.

Re: link error

Posted: 21 Dec 2017 10:29
by jeanclaude
Thank you Thomas for your advice.

Finally I got around the problem, giving up the migration tool and writing a new project and converting by hand the code : this way I learned a lot more about this version : not so simple after years of work with the 5.2 version!.

Regards

Jean-Claude

Re: link error

Posted: 21 Dec 2017 14:34
by Thomas Linder Puls
Good.

The migration tool is only an assistant it can actually do a lot of tedious work for you. But the tool is only "so good" and if you are not really familiar with the target system/language, then you may easily find yourself in a bad situation.

We have ourselves used the tool many times on large and huge projects, but we are also quite familiar with the target system.

More over we use it like this:
  • First we establish an automatic test suite for the program, which we repeatedly test every of the following changes with.
  • Restructure the vip5 program in vip5 until it meets the requirements for conversion
  • Then we over and over do this:
    • Press the "convert to Vip 7" (or whatever it is called) button
    • Compile the resulting project
    • Inspect the resulting code
    • Run the test (on the new code)
    • Make changes in the vip5 code
    • Run the test on the modified vip5 code
The important points here is that:
  • We have a test suite that can keep us confident with the changes we make
  • We make the changes in the vip5 code until we reach sufficient level of quality in the new code just by pressing the convert button.
This also make it easier to transfer changes from the vip5 version (which could still be in maintenance) to the new version, because we can make the changes in the vip5 version and then "press the button" once more and see that what the changes look like in the new context.