July 21, 2008 Strange problem with structure | ||||
---|---|---|---|---|
| ||||
I have got following part of code: [code_code_code_code_code_code_code] module basis; import std.stdio; import std.math; import std.string; import std.process; struct SCoordinate{ int max; int min; } [code_code_code_code_code_code_code] and following errors: OPTLINK (R) for Win32 Release 8.00.1 Copyright (C) Digital Mars 1989-2004 All rights reserved. source\hiddenLine.obj(hiddenLine) Error 42: Symbol Undefined _D5basis11SCoordinate3maxMFZl source\hiddenLine.obj(hiddenLine) Error 42: Symbol Undefined _D5basis11SCoordinate3minMFZl It looks like linker treats min and max like external symbols, but why? |
July 21, 2008 Re: Strange problem with structure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Zarathustra | On Mon, 21 Jul 2008 18:30:13 +0400, Zarathustra <adam.chrapkowski@gmail.com> wrote:
> I have got following part of code:
> [code_code_code_code_code_code_code]
> module basis;
> import std.stdio;
> import std.math;
> import std.string;
> import std.process;
>
> struct SCoordinate{
> int max;
> int min;
> }
>
> [code_code_code_code_code_code_code]
> and following errors:
> OPTLINK (R) for Win32 Release 8.00.1
> Copyright (C) Digital Mars 1989-2004 All rights reserved.
> source\hiddenLine.obj(hiddenLine)
> Error 42: Symbol Undefined _D5basis11SCoordinate3maxMFZl
> source\hiddenLine.obj(hiddenLine)
> Error 42: Symbol Undefined _D5basis11SCoordinate3minMFZl
>
> It looks like linker treats min and max like external symbols, but why?
Looks like compiler is looking for these functions:
long basis.SCoordinate.min()
long basis.SCoordinate.max()
but can't find their implementation. What code in module "hiddenLine" uses min/max and how?
What version of DMD do you use? Could you post the code that makes this happen so that we could reproduce it?
|
Copyright © 1999-2021 by the D Language Foundation