Affogato RIB Konverter

Wie schreibt man ein Phenomenon, bzw. einen Shader?

Affogato RIB Konverter

Postby jb_alvarado on Tue Aug 04, 2009 15:13 pm

Hallo Leute,
sorry ist zwar nicht mr, aber ich hoffe ihr könnt mir vielleicht trotzdem helfen. Ich versuche den RIP Exporter Affogato für XSI zu kompilieren, leider ohne Erfolg. Wenn möglich möchte ich daraus eine 64bit Version machen, aber bei der 32bit Version scheitere ich auch schon.

Könnte sich das vielleicht mal jemand anschauen? Und mir dann sagen, woran es liegt?
http://sourceforge.net/projects/affogato/

Abgesehen von den Warnungen bekomme ich die 3 Errors:

Code: Select all

.\src\affogatoRiRenderer.cpp(1199) : error C2664: 'strcpy' : cannot convert parameter 1 from 'RtToken ' to 'char *'
1>        Conversion loses qualifiers
1>.\src\affogatoRiRenderer.cpp(1474) : warning C4018: '<' : signed/unsigned mismatch
1>.\src\affogatoRiRenderer.cpp(1828) : error C2664: 'strcpy' : cannot convert parameter 1 from 'RtToken ' to 'char *'
1>        Conversion loses qualifiers
1>.\src\affogatoRiRenderer.cpp(1859) : error C2664: 'strcpy' : cannot convert parameter 1 from 'RtToken ' to 'char *'
1>        Conversion loses qualifiers



Grüße

Jonathan
User avatar
jb_alvarado
Moderator
 
Posts: 2021
Joined: Sun Nov 12, 2006 20:16 pm
Location: Dornbirn

Re: Affogato RIB Konverter

Postby haggi on Tue Aug 04, 2009 21:59 pm

Hmmm.....

wenn ich das korrekt sehe, dann tritt das Problem bei sowas wie hier auf:

Code: Select all
RtToken rc = "Blubbdibla";
char c[128];
strcpy( rc, c);


Falls das der Fall ist, dann sollte ein typecast helfen:


Code: Select all
RtToken rc = "Blubbdibla";
char c[128];
strcpy( (char *)rc, c);
haggi
Admin
 
Posts: 752
Joined: Wed Jan 10, 2007 0:56 am

Re: Affogato RIB Konverter

Postby jb_alvarado on Tue Aug 04, 2009 22:32 pm

Werd ich mir noch mal genau anschauen. Danke schon mal!

die Zeile wo das passiert lautet:

Code: Select all
strcpy( tokens[ numParams ], tmpStr.c_str() );


Verstehe ich halt nicht, weil das ja ein VC Projekt ist...
User avatar
jb_alvarado
Moderator
 
Posts: 2021
Joined: Sun Nov 12, 2006 20:16 pm
Location: Dornbirn

Re: Affogato RIB Konverter

Postby jb_alvarado on Fri Aug 21, 2009 11:25 am

Auf SourceForge habe ich die gleiche Antwort bekommen:

RE: Compiling under VC
By: brogall (brogall) - 2009-08-14 03:32
Hi, I ran into that too. RtToken is defined as const char * in 3Delight's ri.h. Since it's const, strcpy can't copy to it. So in each of those lines I just cast "tokens[ numParams ]" to char* and hoped for the best. It compiles and seems to work so far. I wonder if something has changed recently. I don't have an old version of ri.h to compare


Nur wie genau ich das char* einbauen soll weiß ich leider immer noch nicht. Werd noch mal testen...
User avatar
jb_alvarado
Moderator
 
Posts: 2021
Joined: Sun Nov 12, 2006 20:16 pm
Location: Dornbirn

Re: Affogato RIB Konverter

Postby Mika on Fri Aug 21, 2009 11:46 am

Huhu, der Haggi hat dir doch schon die Lösung gegeben. Mach nen Typecast

Hier mal ein paar Links dazu:
http://www.cplusplus.com/doc/tutorial/typecasting/
http://de.wikibooks.org/wiki/C%2B%2B-Programmierung:_Typumwandlung
Mika
Admin
 
Posts: 1808
Joined: Fri Jun 01, 2007 13:38 pm
Location: Berlin & Osterode am Harz, Lower Saxony (Earth)

Re: Affogato RIB Konverter

Postby haggi on Fri Aug 21, 2009 12:11 pm

Code: Select all
strcpy( (char *)tokens[ numParams ], tmpStr.c_str() );
haggi
Admin
 
Posts: 752
Joined: Wed Jan 10, 2007 0:56 am

Re: Affogato RIB Konverter

Postby jb_alvarado on Fri Aug 21, 2009 16:56 pm

Ich danke euch Beiden! Hat echt funktioniert. Leider hänge ich jetzt am erstellen der korrekten Boots libs, da muss ich noch die richtigen Parameter raus finden.
User avatar
jb_alvarado
Moderator
 
Posts: 2021
Joined: Sun Nov 12, 2006 20:16 pm
Location: Dornbirn

Re: Affogato RIB Konverter

Postby jb_alvarado on Fri Aug 21, 2009 19:04 pm

Jau, die 32 Bit Version konnte ich nun kompilieren :). Drückt mir die Daumen dass die 64 Bit Version auch hinhaut.

Wie wichtig ist es eigentlich auch die Warnungen auszumerzen?
User avatar
jb_alvarado
Moderator
 
Posts: 2021
Joined: Sun Nov 12, 2006 20:16 pm
Location: Dornbirn

Re: Affogato RIB Konverter

Postby haggi on Fri Aug 21, 2009 22:17 pm

Medium wichtig.

Oft kann man gar nicht alles ausmerzen. z.B. bei mentalray ist es fast unmöglich ohne typecasts die warnings wegzubekommen. Wenn du halbwegs weisst was du tust, dann kannst du an den warnings auch sehen was sich lohnt zu eliminieren. Die anderen bekommt man weg indem man die Nummern in "ignore errors" einträgt. Meine beliebteste Methode ;)
haggi
Admin
 
Posts: 752
Joined: Wed Jan 10, 2007 0:56 am

Return to Writing Shader and Phenomena®

Who is online

Users browsing this forum: No registered users and 1 guest

cron