View mode: basic / threaded / horizontal-split · Log in · Help
April 15, 2005
Error 42:
I'm trying to move my simple header from C to D and try to use that 
function in D. Functio is like sin but if draw my rin it isn't curve. it 
is straight angle. I'm using windows and rin.d (old rin.h is located 
under phobos direcrory.

====================================================================
ERROR MESSAGE:
parse     rini
semantic  rini
semantic2 rini
semantic3 rini
code      rini
generating code for function 'main'
C:\dc\dmd\bin\..\..\dm\bin\link.exe rini,,,user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

rini.obj(rini)
 Error 42: Symbol Undefined _D3rin3rinFfZf

--- errorlevel 1
======================================================
======================================================
RINI.D (what i'm compiling):
import omat.rin;

float i;

int main()
{

	i = rin(2);
	printf("\n%f", i);
	return 0;
}
======================================================
======================================================
RIN.D (where the function is):
//like sin

float rin(float x)
{

      float xx;

      if(x>10){

               do{x=x-10;

               }while(x>10);}

      if(x<-10){

               do{x=x+10;

               }while(x<-10);}


      if( x < 0 ) { xx = ( x + 10 ); }
      if( x > 0 ) { xx = (-1*x+10 );}

      if( x == 0 ){ xx = 10;}
      if( x == -10 || x == 10 ){ xx = -10; }

      xx = xx * 0.1;
      return xx;
      }
April 15, 2005
Re: Error 42:
Mikael Haapakoski wrote:
> I'm trying to move my simple header from C to D and try to use that 
> function in D. Functio is like sin but if draw my rin it isn't curve. it 
> is straight angle. I'm using windows and rin.d (old rin.h is located 
> under phobos direcrory.

Try doing something like:

dmd main.d omat/rin.d

(or omat/rin.d = wherever your rin.d file is)

Jeremy
April 15, 2005
Re: Error 42:
Or use,

build main.d

:-)


Jeremy Cowgar says...
>
>Mikael Haapakoski wrote:
>> I'm trying to move my simple header from C to D and try to use that 
>> function in D. Functio is like sin but if draw my rin it isn't curve. it 
>> is straight angle. I'm using windows and rin.d (old rin.h is located 
>> under phobos direcrory.
>
>Try doing something like:
>
>dmd main.d omat/rin.d
>
>(or omat/rin.d = wherever your rin.d file is)
>
>Jeremy
April 15, 2005
Re: Error 42:
now i changed 1 line of rini.d (module file) as module omat.rin and 
executed command "dmd rini.d" because i don't have main.d at all. Still 
i got same error message.

Then i tried this kind of solution. I copied omat directory with rin.d 
to same directory where rini.d is located. then i remobed i line so it 
isn't module anymore. i changet 1 line of rini.d (what you called as 
main.d) to "#include <c:\dc\omat\omat\rin.d>". My rini (main) is located 
at c:\dc\omat\. After all this i ran again "dmd rini.d" (main). Now i 
got a bit differend error message. It goes like this:
rini.d(1): #line integer ["filespec"]\n expected
rini.d(1): Declaration expected, not '<'
rini.d(1): undefined escape sequence \d

rini.d(1): undefined escape sequence \o




jicman kirjoitti:
> Or use,
> 
> build main.d
> 
> :-)
> 
> 
> Jeremy Cowgar says...
> 
>>Mikael Haapakoski wrote:
>>
>>>I'm trying to move my simple header from C to D and try to use that 
>>>function in D. Functio is like sin but if draw my rin it isn't curve. it 
>>>is straight angle. I'm using windows and rin.d (old rin.h is located 
>>>under phobos direcrory.
>>
>>Try doing something like:
>>
>>dmd main.d omat/rin.d
>>
>>(or omat/rin.d = wherever your rin.d file is)
>>
>>Jeremy
> 
> 
>
April 15, 2005
Re: Error 42:
and another thing. i don't have build command. like i said iäm using 
windows and notepad as editor. could it be that notepad puts that kind 
of end to file what d compiler doesn't understand?

jicman kirjoitti:
> Or use,
> 
> build main.d
> 
> :-)
> 
> 
> Jeremy Cowgar says...
> 
>>Mikael Haapakoski wrote:
>>
>>>I'm trying to move my simple header from C to D and try to use that 
>>>function in D. Functio is like sin but if draw my rin it isn't curve. it 
>>>is straight angle. I'm using windows and rin.d (old rin.h is located 
>>>under phobos direcrory.
>>
>>Try doing something like:
>>
>>dmd main.d omat/rin.d
>>
>>(or omat/rin.d = wherever your rin.d file is)
>>
>>Jeremy
> 
> 
>
April 15, 2005
Re: Error 42:
Though iot compiles my self made main files correctly. this is my forst 
module or header what iäm trying to do for D

Mikael Haapakoski kirjoitti:
> and another thing. i don't have build command. like i said iäm using 
> windows and notepad as editor. could it be that notepad puts that kind 
> of end to file what d compiler doesn't understand?
> 
> jicman kirjoitti:
> 
>> Or use,
>>
>> build main.d
>>
>> :-)
>>
>>
>> Jeremy Cowgar says...
>>
>>> Mikael Haapakoski wrote:
>>>
>>>> I'm trying to move my simple header from C to D and try to use that 
>>>> function in D. Functio is like sin but if draw my rin it isn't 
>>>> curve. it is straight angle. I'm using windows and rin.d (old rin.h 
>>>> is located under phobos direcrory.
>>>
>>>
>>> Try doing something like:
>>>
>>> dmd main.d omat/rin.d
>>>
>>> (or omat/rin.d = wherever your rin.d file is)
>>>
>>> Jeremy
>>
>>
>>
>>
April 16, 2005
Re: Error 42:
1. There's no '#include' in D
2. You can get the 'build' utility from here: 
http://dsource.org/projects/build/
3. Without 'build', you have to pass all of your files to dmd, so "dmd 
rini.d" won't do. You might try "dmd rini.d omat\rin.d" (or whatever 
paths you have there)
4. Notepad's not the best editor... Actually it's one of the worst when 
it comes to programming. Check this out: 
http://www.wikiservice.at/d/wiki.cgi?EditorSupport
/* my current favourite is the Elephant IDE */
5. Excellent resource: http://dsource.org/tutorials/


-- 
Tomasz Stachowiak  /+ a.k.a. h3r3tic +/
April 16, 2005
Re: Error 42:
After readin about lib files things are comin more clearer to me.

Mikael Haapakoski kirjoitti:
> now i changed 1 line of rini.d (module file) as module omat.rin and 
> executed command "dmd rini.d" because i don't have main.d at all. Still 
> i got same error message.
> 
> Then i tried this kind of solution. I copied omat directory with rin.d 
> to same directory where rini.d is located. then i remobed i line so it 
> isn't module anymore. i changet 1 line of rini.d (what you called as 
> main.d) to "#include <c:\dc\omat\omat\rin.d>". My rini (main) is located 
> at c:\dc\omat\. After all this i ran again "dmd rini.d" (main). Now i 
> got a bit differend error message. It goes like this:
> rini.d(1): #line integer ["filespec"]\n expected
> rini.d(1): Declaration expected, not '<'
> rini.d(1): undefined escape sequence \d
> 
> rini.d(1): undefined escape sequence \o
> 
> 
> 
> 
> jicman kirjoitti:
> 
>> Or use,
>>
>> build main.d
>>
>> :-)
>>
>>
>> Jeremy Cowgar says...
>>
>>> Mikael Haapakoski wrote:
>>>
>>>> I'm trying to move my simple header from C to D and try to use that 
>>>> function in D. Functio is like sin but if draw my rin it isn't 
>>>> curve. it is straight angle. I'm using windows and rin.d (old rin.h 
>>>> is located under phobos direcrory.
>>>
>>>
>>> Try doing something like:
>>>
>>> dmd main.d omat/rin.d
>>>
>>> (or omat/rin.d = wherever your rin.d file is)
>>>
>>> Jeremy
>>
>>
>>
>>
April 16, 2005
Re: Error 42:
Mikael Haapakoski wrote:
> and another thing. i don't have build command. like i said iäm using 
> windows and notepad as editor. could it be that notepad puts that kind 
> of end to file what d compiler doesn't understand?

You can get the very useful Build utility here:
http://dsource.org/projects/build/

And you might double-check that Notepad isn't putting a .txt on the ends 
of your filenames.  Generally its better to find a coding editor, such 
as EditPlus or ConTEXT, rather than stick with Notepad.  (Although for 
many moons I did all my HTML, PHP, Java, and C code in Notepad... but I 
don't dare say I'd want to go back.)

-- Chris Sauls
April 16, 2005
Re: Error 42:
Mikael Haapakoski wrote:
> I'm trying to move my simple header from C to D and try to use that 
> function in D. Functio is like sin but if draw my rin it isn't curve. it 
> is straight angle. I'm using windows and rin.d (old rin.h is located 
> under phobos direcrory.
> 
> ====================================================================
> ERROR MESSAGE:
> parse     rini
> semantic  rini
> semantic2 rini
> semantic3 rini
> code      rini
> generating code for function 'main'
> C:\dc\dmd\bin\..\..\dm\bin\link.exe rini,,,user32+kernel32/noi;
> OPTLINK (R) for Win32  Release 7.50B1
> Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

You may have already gotten this to work, but in case someone else runs 
into a problem like this I thought I'd explain a fix.

I've set up three files (which are attached): rin.d, rini.d, and 
rin.bat. All three are put into a folder called "omat". Run "rin.bat" to 
compile and run the program. I moved some punctuation around, but the 
only significant change that I made to your files was adding "module 
omat.rin;" to the top of rin.d.

(By the way, this error message is also described at 
http://www.prowiki.org/wiki4d/wiki.cgi?ErrorMessages#Error42SymbolUndefined.)

This is what is looks like when I run "rin.bat":
----------------------------------------------------------------
I:\pgm\d\examples\linker_error_msg\omat>dmd rini.d rin.d -I..
d:\dmd\bin\..\..\dm\bin\link.exe rini+rin,,,user32+kernel32/noi;

I:\pgm\d\examples\linker_error_msg\omat>rini.exe

0.800000
I:\pgm\d\examples\linker_error_msg\omat>pause
Press any key to continue . . .

-- 
jcc7
http://jcc_7.tripod.com/d/
Top | Discussion index | About this forum | D home