Simple I know, but could use some help compiling with make
Steven Schveighoffer
schveiguy at yahoo.com
Thu Sep 29 13:02:18 PDT 2011
On Thu, 29 Sep 2011 15:28:56 -0400, Roderick Gibson <kniteli at gmail.com>
wrote:
> On 9/29/2011 11:52 AM, Andrej Mitrovic wrote:
>> On 9/29/11, Steven Schveighoffer<schveiguy at yahoo.com> wrote:
>>> On Thu, 29 Sep 2011 14:32:28 -0400, Andrej Mitrovic
>>> <andrej.mitrovich at gmail.com> wrote:
>>>
>>>> No it's not the same for Windows. On Windows you have to use -L+,
>>>> e.g.:
>>>>
>>>> dmd myfile.d -L+path/to/libs mylib.lib
>>>
>>> That's because +path/to/libs is the search-path parameter for
>>> OPTLINK. -L
>>> goes before all linker parameters. The same is for Linux.
>>>
>>> See here: http://www.digitalmars.com/d/2.0/dmd-windows.html
>>>
>>> -Steve
>>>
>>
>> Right, I misinterpreted the "same for Windows" part, you were
>> referring to -L and you're right.
>>
>> DMD could do some magic and replace -L-L with -L+ on Windows to
>> simplify cross-platform development. I know it sends everything after
>> -L to the linker, but it could make one special case for this.
>
>
> Thanks so much guys, it worked, although it looks like a mutated
> wildebeest. For the interested:
>
> IMPORT = -IC:\Dlang\dmd2\src\ext\Derelict2\import
> LIB_PATHS = -L+C:\Dlang\dmd2\src\ext\Derelict2\lib\\
>
> LIB_INCLUDES = DerelictSDL.lib DerelictGL.lib DerelictUtil.lib
> DerelictGLU.lib
>
> all:
> dmd src/main.d src/display.d src/renderdata.d src/vector2d.d $(IMPORT)
> $(LIB_PATHS) $(LIB_INCLUDES)
>
> Yes, that is TWO backslashes and the empty line between paths and
> includes is required. Could probably fix it but couldn't figure out how
> to escape the backslash (to prevent it from escaping the newline).
Can you just leave off the last backslash? Again, not too familiar with
OPTLINK, so not sure.
-Steve
More information about the Digitalmars-d-learn
mailing list