POV-Ray : Newsgroups : povray.unofficial.patches : Hgpovray38, current state Server Time
28 Mar 2024 16:10:20 EDT (-0400)
  Hgpovray38, current state (Message 11 to 20 of 48)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Mr
Subject: Re: Hgpovray38, current state
Date: 2 Jun 2020 05:15:01
Message: <web.5ed617eab933d8376adeaecb0@news.povray.org>
Le_Forgeron <jgr### [at] freefr> wrote:
> Le 09/05/2020 à 14:49, Mr a écrit :
> > Le_Forgeron <jgr### [at] freefr> wrote:
> >> Le 18/08/2018 à 13:58, Le_Forgeron a écrit :
> >>> For the people who do not want to bother with git, Hgpovray is now
> >>> available as sources
> >>>
> >>>
> >> Latest version so far:
> >>
> >> https://github.com/LeForgeron/povray/releases/tag/v3.8.0.alpha%2BHg.226.Bigarade
> >>
> >>> https://github.com/LeForgeron/povray/releases/tag/v3.8.0.alpha%2BHg.226.Bigarade
> >>
> >>
> >>> More works on the agenda :
> >>>
> >>> http://wiki.povray.org/content/User:Le_Forgeron/HgPovray38
> >>>
> >
> > Bonjour !
> >
> > I just tried to build the latest HG-Pov I could find which seems to be that
> > Bigarade, right? Using MS VS2015,
> > Here is VS2015 build output:
> >
> > 1>------ Début de la génération : Projet : vfewin, Configuration : Debug x64
> > ------
> > 2>------ Début de la génération : Projet : rtrsupport, Configuration : Debug
x64
> > ------
> > 3>------ Début de la génération : Projet : povbackend, Configuration : Debug
x64
> > ------
> > 4>------ Début de la génération : Projet : povbase, Configuration : Debug
x64
> > ------
> > 5>------ Début de la génération : Projet : povfrontend, Configuration :
Debug
> > x64 ------
> > 6>------ Génération ignorée : Projet : boost_date_time, Configuration :
Debug
> > x64 ------
> > 6>Projet non sélectionné dans le cadre d'une génération pour cette
configuration
> > de solution
> > 7>------ Début de la génération : Projet : povcore, Configuration : Debug
x64
> > ------
> > 8>------ Début de la génération : Projet : povparser, Configuration : Debug
x64
> > ------
> > 1>  vfesession.cpp
> > 2>  vidcapimpl.cpp
> > 3>  boundingtask.cpp
> > 5>  povmain.cpp
> > 4>  colour.cpp
> > 7>  bounding.cpp
> > 8>  parser.cpp
> > 7>  texture.cpp
> > 4>  metadata.cpp
> > 3>..\..\source\backend\bounding\boundingtask.cpp(91): warning C4267: 'return' :
> > conversion de 'size_t' en 'unsigned int', perte possible de données
> > 3>..\..\source\backend\bounding\boundingtask.cpp(162): warning C4267: '=' :
> > conversion de 'size_t' en 'unsigned int', perte possible de données
> > 3>..\..\source\backend\bounding\boundingtask.cpp(163): warning C4267: '=' :
> > conversion de 'size_t' en 'unsigned int', perte possible de données
> > 3>..\..\source\backend\bounding\boundingtask.cpp(178): warning C4267: '=' :
> > conversion de 'size_t' en 'unsigned int', perte possible de données
> > 3>..\..\source\backend\bounding\boundingtask.cpp(179): warning C4267: '=' :
> > conversion de 'size_t' en 'unsigned int', perte possible de données
> > 3>  povray.cpp
> > 7>  scenedata.cpp
> > 5>povmain.obj : warning LNK4221: Ce fichier objet ne dÚfinit pas de symboles
> > publics jusqu'ici non dÚfinis. Par consÚquent, il ne sera utilisÚ par aucune
> > opÚration de lien utilisant cette bibliothÞque
> > 5>  povfrontend.vcxproj ->
> >
C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\povfrontend64d.lib
> > 3>..\..\source\backend\povray.cpp(515): warning C4267: 'argument' : conversion
> > de 'size_t' en 'int', perte possible de données
> > 3>  benchmark.cpp
> > 3>  renderbackend.cpp
> > 7>  tracethreaddata.cpp
> > 8>..\..\source\parser\parser.cpp(9673): warning C4267: 'argument' : conversion
> > de 'size_t' en 'int', perte possible de données
> > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'ssize_t' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12022): error C2146: erreur de syntaxe :
> > absence de ';' avant l'identificateur 'idx1'
> > 4>  mathutil.cpp
> > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'idx1' : identificateur
> > non déclaré
> > 4>  Génération de code en cours...
> > 8>..\..\source\parser\parser.cpp(12023): error C2065: 'ssize_t' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12023): error C2146: erreur de syntaxe :
> > absence de ';' avant l'identificateur 'idx2'
> > 8>..\..\source\parser\parser.cpp(12023): error C2065: 'idx2' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12024): error C2065: 'idx1' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12024): error C2065: 'idx2' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12026): error C2065: 'idx2' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12028): error C2065: 'idx2' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12031): error C2065: 'idx1' : identificateur
> > non déclaré
> > 8>..\..\source\parser\parser.cpp(12031): error C2065: 'idx2' : identificateur
> > non déclaré
> > 4>  jpeg.cpp
> > 8>  parser_strings.cpp
> > 7>  box.cpp
> > 3>  scene.cpp
> > 7>  Génération de code en cours...
> > 4>..\..\source\base\image\jpeg.cpp(502): warning C4267: 'argument' : conversion
> > de 'size_t' en 'unsigned int', perte possible de données
> > 8>..\..\source\parser\parser_strings.cpp(479): error C2131: l'expression n'a pas
> > été évaluée en constante
> > 8>  ..\..\source\parser\parser_strings.cpp(479): note: échec en raison
> > d'arguments non constants ou d'une référence à un symbole non constant
> > 8>  ..\..\source\parser\parser_strings.cpp(479): note: voir l'utilisation de
> > 'this'
> > 8>..\..\source\parser\parser_strings.cpp(708): warning C4267: '=' : conversion
> > de 'size_t' en 'int', perte possible de données
> > 8>..\..\source\parser\parser_strings.cpp(1176): warning C4267: '=' : conversion
> > de 'size_t' en 'int', perte possible de données
> > 8>  parser_tokenizer.cpp
> > 3>  Génération de code en cours...
> > 8>..\..\source\parser\parser_tokenizer.cpp(1514): warning C4267: '=' :
> > conversion de 'size_t' en 'int', perte possible de données
> > 7>bounding.obj : warning LNK4221: Ce fichier objet ne dÚfinit pas de symboles
> > publics jusqu'ici non dÚfinis. Par consÚquent, il ne sera utilisÚ par aucune
> > opÚration de lien utilisant cette bibliothÞque
> > 4>  png.cpp
> > 8>..\..\source\parser\parser_tokenizer.cpp(3915): warning C4267: '=' :
> > conversion de 'size_t' en 'int', perte possible de données
> > 2>  vidcap.cpp
> > 8>..\..\source\parser\parser_tokenizer.cpp(3935): warning C4267: '=' :
> > conversion de 'size_t' en 'int', perte possible de données
> > 8>  Génération de code en cours...
> > 3>  povbackend.vcxproj ->
> >
C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\povbackend64d.lib
> > 7>  povcore.vcxproj ->
> >
C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\povcore64d.lib
> > 4>  Génération de code en cours...
> > 4>timer.obj : warning LNK4221: Ce fichier objet ne dÚfinit pas de symboles
> > publics jusqu'ici non dÚfinis. Par consÚquent, il ne sera utilisÚ par aucune
> > opÚration de lien utilisant cette bibliothÞque
> > 4>mathutil.obj : warning LNK4221: Ce fichier objet ne dÚfinit pas de symboles
> > publics jusqu'ici non dÚfinis. Par consÚquent, il ne sera utilisÚ par aucune
> > opÚration de lien utilisant cette bibliothÞque
> > 4>  povbase.vcxproj ->
> >
C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\povbase64d.lib
> > 2>  rtrsupport.cpp
> > 1>  vfewin.vcxproj ->
> > C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\vfe64d.lib
> > 2>  Génération de code en cours...
> > 2>vidcap.obj : warning LNK4221: Ce fichier objet ne dÚfinit pas de symboles
> > publics jusqu'ici non dÚfinis. Par consÚquent, il ne sera utilisÚ par aucune
> > opÚration de lien utilisant cette bibliothÞque
> > 2>  rtrsupport.vcxproj ->
> >
C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\rtrsupport64d.lib
> > 9>------ Génération ignorée : Projet : tests, Configuration : Debug x64
------
> > 9>Projet non sélectionné dans le cadre d'une génération pour cette
configuration
> > de solution
> > 10>------ Début de la génération : Projet : GUI, Configuration : Debug x64
> > ------
> > 11>------ Génération ignorée : Projet : console, Configuration : Debug x64
> > ------
> > 11>Projet non sélectionné dans le cadre d'une génération pour cette
> > configuration de solution
> > 10>  pvbitmap.cpp
> > 10>  pvdialog.cpp
> > 10>  pvdisplay.cpp
> > 10>  pvedit.cpp
> > 10>..\pvedit.cpp(301): warning C4267: '+=' : conversion de 'size_t' en 'int',
> > perte possible de données
> > 10>  pvengine.cpp
> > 10>C:\Program Files (x86)\Windows Kits\8.1\Include\um\dbghelp.h(1544): warning
> > C4091: 'typedef ' : ignoré à gauche de '' quand aucune variable n'est
déclarée
> > 10>C:\Program Files (x86)\Windows Kits\8.1\Include\um\dbghelp.h(3190): warning
> > C4091: 'typedef ' : ignoré à gauche de '' quand aucune variable n'est
déclarée
> > 10>..\pvengine.cpp(498): warning C4838: la conversion de 'int' en 'WORD'
> > requiert une conversion restrictive
> > 10>..\pvengine.cpp(1721): warning C4477: 'sprintf' : la chaîne de format '%p'
> > nécessite un argument de type 'void *', mais l'argument variadique 2 est de type
> > 'DWORD64'
> > 10>..\pvengine.cpp(5152): warning C4996: 'GetVersionExA': a été déclaré
> > déconseillé
> > 10>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\sysinfoapi.h(433): note:
> > voir la déclaration de 'GetVersionExA'
> > 10>..\pvengine.cpp(5608): warning C4267: '=' : conversion de 'size_t' en
> > 'unsigned int', perte possible de données
> > 10>..\pvengine.cpp(5787): warning C4267: '=' : conversion de 'size_t' en
> > 'unsigned int', perte possible de données
> > 10>..\pvengine.cpp(5719): warning C4996: 'GetVersionExA': a été déclaré
> > déconseillé
> > 10>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\sysinfoapi.h(433): note:
> > voir la déclaration de 'GetVersionExA'
> > 10>  pvfiles.cpp
> > 10>  pvfrontend.cpp
> > 10>  pvguiext.cpp
> > 10>  pvmem.cpp
> > 10>  pvmenu.cpp
> > 10>  pvmisc.cpp
> > 10>..\pvmisc.cpp(223): warning C4838: la conversion de 'int' en 'unsigned int'
> > requiert une conversion restrictive
> > 10>  pvtext.cpp
> > 10>  pvupdate.cpp
> > 10>..\pvupdate.cpp(166): warning C4996: 'GetVersionExA': a été déclaré
> > déconseillé
> > 10>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\sysinfoapi.h(433): note:
> > voir la déclaration de 'GetVersionExA'
> > 10>  Génération de code en cours...
> > 10>LINK : fatal error LNK1104: impossible d'ouvrir le fichier
> >
'C:\HG-POV\povray-3.8.0.alpha-Hg.226.Bigarade\windows\vs2015\bin64\lib\povparser64d.lib'
> > ========== Génération : 6 a réussi, 2 a échoué, 15 mis à jour, 3 a été
ignoré
> > ==========
> >
> >
> >
> >
>
> you can fix the ssize_t error by defining it as a signed integer such as
> int_least32_t

I don't know if that was any sensible thing to do but, in parser.cpp, line 12022
and 12023 I made a few attempts at replacing "ssize_t"

ssize_t idx1 = std::min(Local_Vector[0], Local_Vector[1]);
ssize_t idx2 = std::max(Local_Vector[0], Local_Vector[1]);


First by "int_least32_t" and then by "unsigned int" and finally "int_least64_t",
but every time only got an  error "conversion de 'size_t' en 'int', perte

processor machine.

Any further advice?


Post a reply to this message

From: jr
Subject: Re: Hgpovray38, current state
Date: 2 Jun 2020 10:30:00
Message: <web.5ed66158b933d8374d00143e0@news.povray.org>
hi,

"Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> ...
> > > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'ssize_t' :
> ...
> > you can fix the ssize_t error by defining it as a signed integer such as
> > int_least32_t
>
> I don't know if that was any sensible thing to do but, in parser.cpp, line 12022
> and 12023 I made a few attempts at replacing "ssize_t"
>
> ssize_t idx1 = std::min(Local_Vector[0], Local_Vector[1]);
> ssize_t idx2 = std::max(Local_Vector[0], Local_Vector[1]);
>
> First by "int_least32_t" and then by "unsigned int" and finally "int_least64_t",
> but every time only got an  error "conversion de 'size_t' en 'int', perte

> processor machine.
>
> Any further advice?

taking that error (from clean source, I assume) means that, for some reason, no
header is included which provides 'ssize_t'.  after a quick look on my system, I
think including 'unistd.h' would do.  alternatively, you could, at the top of
whichever .cpp file, add a definition (ideally with a '#ifndef' guard) like:
  #define ssize_t int

POSIX guarantees a max of 32767, I think.

hth.



regards, jr.


Post a reply to this message

From: Mr
Subject: Re: Hgpovray38, current state
Date: 2 Jun 2020 13:50:00
Message: <web.5ed69109b933d8376adeaecb0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:
> hi,
>
> "Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> > ...
> > > > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'ssize_t' :
> > ...
> > > you can fix the ssize_t error by defining it as a signed integer such as
> > > int_least32_t
> >
> > I don't know if that was any sensible thing to do but, in parser.cpp, line 12022
> > and 12023 I made a few attempts at replacing "ssize_t"
> >
> > ssize_t idx1 = std::min(Local_Vector[0], Local_Vector[1]);
> > ssize_t idx2 = std::max(Local_Vector[0], Local_Vector[1]);
> >
> > First by "int_least32_t" and then by "unsigned int" and finally "int_least64_t",
> > but every time only got an  error "conversion de 'size_t' en 'int', perte

> > processor machine.
> >
> > Any further advice?
>
> taking that error (from clean source, I assume) means that, for some reason, no
> header is included which provides 'ssize_t'.  after a quick look on my system, I
> think including 'unistd.h' would do.  alternatively, you could, at the top of
> whichever .cpp file, add a definition (ideally with a '#ifndef' guard) like:
>   #define ssize_t int
>
> POSIX guarantees a max of 32767, I think.
>
> hth.
>
>
>
> regards, jr.

I made a search for "unistd.h" and could not find it neither in HG-POV nor in
POV-Ray 3.8 sources. what path should I include from? I tried without path and
it is not found.


Post a reply to this message

From: jr
Subject: Re: Hgpovray38, current state
Date: 2 Jun 2020 14:15:00
Message: <web.5ed696c1b933d8374d00143e0@news.povray.org>
hi,

"Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> "jr" <cre### [at] gmailcom> wrote:
> > "Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> > > ...
> > > > > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'ssize_t' :
> > > ...
> > > > you can fix the ssize_t error by defining it as a signed integer such as
> > > > int_least32_t
> > >
> > > I don't know if that was any sensible thing to do but, in parser.cpp, line 12022
> > > and 12023 I made a few attempts at replacing "ssize_t"
> > >
> > > ssize_t idx1 = std::min(Local_Vector[0], Local_Vector[1]);
> > > ssize_t idx2 = std::max(Local_Vector[0], Local_Vector[1]);
> > >
> > > First by "int_least32_t" and then by "unsigned int" and finally "int_least64_t",
> > > but every time only got an  error "conversion de 'size_t' en 'int', perte

> > > processor machine.
> > >
> > > Any further advice?
> >
> > taking that error (from clean source, I assume) means that, for some reason, no
> > header is included which provides 'ssize_t'.  after a quick look on my system, I
> > think including 'unistd.h' would do.  alternatively, you could, at the top of
> > whichever .cpp file, add a definition (ideally with a '#ifndef' guard) like:
> >   #define ssize_t int
> >
> > POSIX guarantees a max of 32767, I think.

should have written: guarantees at least a maximum of 32767.

> >
> I made a search for "unistd.h" and could not find it neither in HG-POV nor in
> POV-Ray 3.8 sources. what path should I include from? I tried without path and
> it is not found.


it's not part of an application, it's a system header (well, it is here, on a
Slackware GNU/Linux box).  turns out on my box just including 'stdio.h' is
enough.

jr@crow:1:tmp$ locate unistd.h | grep /usr/include
/usr/include/unistd.h
/usr/include/sys/unistd.h
/usr/include/asm-x86/unistd.h
/usr/include/bits/unistd.h
/usr/include/linux/unistd.h
/usr/include/asm-generic/unistd.h
jr@crow:2:tmp$ cat mr.c
#include <stdio.h>

int main(void) {
  ssize_t a, b, c;
  a = -1, b = 0, c = 1;
  printf("ssize_t vals: %zd  %zd  %zd\n", a, b, c);
  return 0;
}

jr@crow:3:tmp$ c99 mr.c
jr@crow:4:tmp$ ./a.out
ssize_t vals: -1  0  1
jr@crow:5:tmp$


(the 'c99' is a shell alias for the compiler)


regards, jr.


Post a reply to this message

From: jr
Subject: Re: Hgpovray38, current state
Date: 2 Jun 2020 14:55:01
Message: <web.5ed69f59b933d8374d00143e0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:
> ...
> jr@crow:2:tmp$ cat mr.c
> #include <stdio.h>
> int main(void) {
>   ssize_t a, b, c;
>   a = -1, b = 0, c = 1;
>   printf("ssize_t vals: %zd  %zd  %zd\n", a, b, c);
>   return 0;
> }
> ...

and, although I don't "speak" C++, I was able to confirm that it should work if
you include 'stdio.h'.

jr@crow:6:tmp$ c### [at] mrcpp
#include <iostream>
#include <stdio.h>

int main(void) {
  ssize_t a, b, c;
  a = -1, b = 0, c = 1;
  std::cout << "ssize_t vals:" << a << "  " << b << "  " << c << "\n";
  return 0;
}

jr@crow:7:tmp$ c++ mr.cpp
jr@crow:8:tmp$ ./a.out
ssize_t vals:-1  0  1
jr@crow:9:tmp$


regards, jr.


Post a reply to this message

From: Mr
Subject: Re: Hgpovray38, current state
Date: 3 Jun 2020 09:50:01
Message: <web.5ed7aa0db933d8376adeaecb0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:
> hi,
>
> "Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> > ...
> > > > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'ssize_t' :
> > ...
> > > you can fix the ssize_t error by defining it as a signed integer such as
> > > int_least32_t
> >
> > I don't know if that was any sensible thing to do but, in parser.cpp, line 12022
> > and 12023 I made a few attempts at replacing "ssize_t"
> >
> > ssize_t idx1 = std::min(Local_Vector[0], Local_Vector[1]);
> > ssize_t idx2 = std::max(Local_Vector[0], Local_Vector[1]);
> >
> > First by "int_least32_t" and then by "unsigned int" and finally "int_least64_t",
> > but every time only got an  error "conversion de 'size_t' en 'int', perte

> > processor machine.
> >
> > Any further advice?
>
> taking that error (from clean source, I assume) means that, for some reason, no
> header is included which provides 'ssize_t'.  after a quick look on my system, I
> think including 'unistd.h' would do.  alternatively, you could, at the top of
> whichever .cpp file, add a definition (ideally with a '#ifndef' guard) like:
>   #define ssize_t int
>
> POSIX guarantees a max of 32767, I think.
>
> hth.
>
>
>
> regards, jr.

Thanks
I tried all manners of include suggested to no success... However, this seemed
to do it for me, added after line 47 of parser.cpp below #include <algorithm> :


#if defined(_MSC_VER)
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#endif


Now I have another error, Which I boldly assume unrelated:
line 479  expression not evaluated to constant:
char tmp_compound[4+strlen(Get_Token_String(CYLINDER_TOKEN))];
as well as "Impossible d'utiliser 'this' dans une expression constante" (for the
same line)

web search brings me here:
https://docs.microsoft.com/fr-fr/cpp/error-messages/compiler-errors-1/compiler-error-c2131?view=vs-2019

I interpret it as an incentive to initialize some variable or iterator index
beforehand? I am standing still in the dark waiting for your lights !


Post a reply to this message

From: Mr
Subject: Re: Hgpovray38, current state
Date: 3 Jun 2020 10:05:01
Message: <web.5ed7ad84b933d8376adeaecb0@news.povray.org>
"Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:

> Now I have another error, Which I boldly assume unrelated:
> line 479  expression not evaluated to constant:
> char tmp_compound[4+strlen(Get_Token_String(CYLINDER_TOKEN))];
> as well as "Impossible d'utiliser 'this' dans une expression constante" (for the
> same line)
>
> web search brings me here:
>
https://docs.microsoft.com/fr-fr/cpp/error-messages/compiler-errors-1/compiler-error-c2131?view=vs-2019
>
> I interpret it as an incentive to initialize some variable or iterator index
> beforehand? I am standing still in the dark waiting for your lights !

I forgot to mention that this line 479 was now in parser_strings.cpp


Post a reply to this message

From: jr
Subject: Re: Hgpovray38, current state
Date: 3 Jun 2020 11:25:00
Message: <web.5ed7c080b933d8374d00143e0@news.povray.org>
hi,
"Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> "jr" <cre### [at] gmailcom> wrote:
> > "Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> > > ...
> > > > > 8>..\..\source\parser\parser.cpp(12022): error C2065: 'ssize_t' :
> > > ...
> > > > you can fix the ssize_t error by defining it as a signed integer such as
> > > > int_least32_t
> > >
> > > I don't know if that was any sensible thing to do but, in parser.cpp, line 12022
> > > and 12023 I made a few attempts at replacing "ssize_t"
> > >
> > > ssize_t idx1 = std::min(Local_Vector[0], Local_Vector[1]);
> > > ssize_t idx2 = std::max(Local_Vector[0], Local_Vector[1]);
> > >
> > > First by "int_least32_t" and then by "unsigned int" and finally "int_least64_t",
> > > but every time only got an  error "conversion de 'size_t' en 'int', perte

> > > processor machine.
> > >
> > > Any further advice?
> >
> > taking that error (from clean source, I assume) means that, for some reason, no
> > header is included which provides 'ssize_t'.  after a quick look on my system, I
> > think including 'unistd.h' would do.  alternatively, you could, at the top of
> > whichever .cpp file, add a definition (ideally with a '#ifndef' guard) like:
> >   #define ssize_t int
> >
> > POSIX guarantees a max of 32767, I think.
>
> Thanks
> I tried all manners of include suggested to no success... However, this seemed
> to do it for me, added after line 47 of parser.cpp below #include <algorithm> :
>
> #if defined(_MSC_VER)
> #include <BaseTsd.h>
> typedef SSIZE_T ssize_t;
> #endif

I had not realised you're on Redmond's finest.

I wonder whether using either the Linux "sub-system" supplied with Windows 10,
aiui, or an installation of 'cygwin', would not make all these errors/problems
go away.

<https://www.cygwin.com/>

> Now I have another error, Which I boldly assume unrelated:
> line 479  expression not evaluated to constant:
> char tmp_compound[4+strlen(Get_Token_String(CYLINDER_TOKEN))];

one hack-ish workaround could be to separate out the operations, ie in C I might
do something like:

size_t const n = strlen(Get_Token_String(...));
char tmp_compound[4 + n] = {'\0'};

> as well as "Impossible d'utiliser 'this' dans une expression constante" (for the
> same line)
>
> web search brings me here:
>
https://docs.microsoft.com/fr-fr/cpp/error-messages/compiler-errors-1/compiler-error-c2131?view=vs-2019
>
> I interpret it as an incentive to initialize some variable or iterator index
> beforehand? I am standing still in the dark waiting for your lights !

some "lights", more like a 15W bulb.  :-)  good luck.


regards, jr.


Post a reply to this message

From: Mr
Subject: Re: Hgpovray38, current state
Date: 3 Jun 2020 17:45:03
Message: <web.5ed8198db933d8376adeaecb0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:

> one hack-ish workaround could be to separate out the operations, ie in C I might
> do something like:
>
> size_t const n = strlen(Get_Token_String(...));
> char tmp_compound[4 + n] = {'\0'};

So instead of this:
char tmp_compound[4+strlen(Get_Token_String(CYLINDER_TOKEN))];

....and after adding the same include in parser_strings.cpp, I used:

const ssize_t n = strlen(Get_Token_String(CYLINDER_TOKEN));
char tmp_compound[4 + n];

And still error messages from the same line not eval to const also tried with
const int n = strlen(Get_Token_String(CYLINDER_TOKEN));


Post a reply to this message

From: jr
Subject: Re: Hgpovray38, current state
Date: 4 Jun 2020 04:55:00
Message: <web.5ed8b565b933d8374d00143e0@news.povray.org>
hi,

"Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> "jr" <cre### [at] gmailcom> wrote:
> > one hack-ish workaround could be to separate out the operations, ie in C I might
> > do something like:
> >
> > size_t const n = strlen(Get_Token_String(...));
> > char tmp_compound[4 + n] = {'\0'};
>
> So instead of this:
> char tmp_compound[4+strlen(Get_Token_String(CYLINDER_TOKEN))];
>
> ....and after adding the same include in parser_strings.cpp, I used:
>
> const ssize_t n = strlen(Get_Token_String(CYLINDER_TOKEN));
> char tmp_compound[4 + n];
>
> And still error messages from the same line not eval to const also tried with
> const int n = strlen(Get_Token_String(CYLINDER_TOKEN));

two points.  the 'strlen()' function returns a 'size_t', that is, an unsigned
value, while both 'int' and 'ssize_t' hold signed values; however, if that was
the problem you would have seen "warning: conversion to..." messages, not
errors.

second, I just downloaded 'Hg.226.Bigarade' and built it; one single warning
message aside, the program builds cleanly (on a Slackware GNU/Linux box).  so,
sorry, cannot help any further, but my advice is: either create a virtual
machine running a Linux, or install 'cygwin'[*], or explore whether the Windows
10/Ubuntu thing works for you.

(I read the following quote in someone's signature block years back
(paraphrased): "computers are like air-conditioning, they stop working when you
open Windows."  ;-))

[*] there are other s/wares too, like 'MinGW'.


regards, jr.


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.