|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
|
|