Author Topic: New Version issue with compliation  (Read 212 times)

0 Members and 1 Guest are viewing this topic.

Brian Alvarez

  • Sr. Member
  • ****
  • Posts: 375
    • PluriBASIC
New Version issue with compliation
« on: May 08, 2019, 01:05:00 AM »
 The new version of Oxygen outputs this with the bare minimum of code i can generate:

Code: [Select]
Linker found unidentified names:
::_mem level 0

 Is this a known issue? my code is at the almost bare minimum of code...

Code: [Select]
FUNCTION PBMAIN() AS INT
   INT ĪRETVAL = 0
   INT a
   a = 1
   RETURN ĪRETVAL
END FUNCTION

PBMAIN() ' invoke entry point

Arnold

  • Hero Member
  • *****
  • Posts: 826
Re: New Version issue with compliation
« Reply #1 on: May 08, 2019, 02:21:04 AM »
Hi Brian,

if I apply: print PBMAIN() then I will get 0. I assume this is the expected return value of the function? I do not get your error message. Did you intend something different with PBMAIN()

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4097
    • Oxygen Basic
Re: New Version issue with compliation
« Reply #2 on: May 08, 2019, 06:59:10 AM »
Brian,

It may be the RTLs. They also need to be updated with the new oxygen.dll

Brian Alvarez

  • Sr. Member
  • ****
  • Posts: 375
    • PluriBASIC
Re: New Version issue with compliation
« Reply #3 on: May 08, 2019, 11:03:48 AM »
 Hello Arnold,

 The purpose of the function is not relevant, as the problem is that i dont get to compile them.
The compiler displays that compilation error. What i intended with PBMAIN was to try the bare
minimum that PluriBASIC generates. My code was just a = 1

 Charles,
I also updated the RTLs, i am using the 32bit one there, and it has absolutely no other
dependencies.

 By the way i spent like 3 hours yesterday looking for my Exodus.bas and i dont find it, i will
probably need to rewrite it to add functions to my dll invoker... is the syntax still valid with newer
versions? Could that be what is happening?

Arnold

  • Hero Member
  • *****
  • Posts: 826
Re: New Version issue with compliation
« Reply #4 on: May 08, 2019, 12:12:38 PM »
Hi Brian,

I use oxygen.dll of 03/Feb/2019, co2.exe of 02/Sep/2018, rtl32.inc of 19/Nov/2018, rtl64.inc of 13/Nov/2018 and your code runs on my pc in 32-bit and in 64-bit without error message. I had to add the statement print "ok" to see at least a result. a = 1 cannot be seen outside of PBMAIN.

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4097
    • Oxygen Basic
Re: New Version issue with compliation
« Reply #5 on: May 08, 2019, 01:03:20 PM »
Brian,

The syntax for making DLLs remains the same except that oxygen-dependent binaries (#file ...) have been discontinued.

Brian Alvarez

  • Sr. Member
  • ****
  • Posts: 375
    • PluriBASIC
Re: New Version issue with compliation
« Reply #6 on: May 10, 2019, 05:34:33 PM »
I see what the problem is.

 Thew version does not support o2_asmo(). So, i cannot use it and i lost the code for my exodus program. I will need to rewrite it. But i completely forgot how it worked...

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4097
    • Oxygen Basic
Re: New Version issue with compliation
« Reply #7 on: May 10, 2019, 10:05:08 PM »
Just use o2_basic instead of o2_asmo

Brian Alvarez

  • Sr. Member
  • ****
  • Posts: 375
    • PluriBASIC
Re: New Version issue with compliation
« Reply #8 on: May 10, 2019, 10:25:59 PM »
Done. Compilations are working fine now. I made a new DLL invoker, whis one also checks
Oxygen's Version before proceeding with the compilation. For example this will allow a
compilation with the current version:

Code: [Select]
#COMPILER OXYGEN 0.1
While this:

Code: [Select]
#COMPILER OXYGEN 1.0
  Will produce a compilation-time error explaining that a newer version of the compiler is required.
So, everything is working fine now, Except for the issue i posted in the other thread. Please take a look.

 Thanks Charles! :)