Thread overview | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 14, 2012 [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
http://ftp.digitalmars.com/dmd1beta.zip http://ftp.digitalmars.com/dmd2beta.zip Be the first kid on your block to build a dmd Win64 app! _______________________________________________ dmd-beta mailing list dmd-beta@puremagic.com http://lists.puremagic.com/mailman/listinfo/dmd-beta |
October 24, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On 10/14/2012 12:55 PM, Walter Bright wrote: > > http://ftp.digitalmars.com/dmd2beta.zip Now supports source line debugging with VS. No symbols yet. _______________________________________________ dmd-beta mailing list dmd-beta@puremagic.com http://lists.puremagic.com/mailman/listinfo/dmd-beta |
October 24, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright Attachments:
| Finally got around to trying this out. I just filed Bug 8889<http://d.puremagic.com/issues/show_bug.cgi?id=8889>. Additionally, I keep running into issues where the VC linker insists on trying to link in shell32.lib. I tried commenting out the LIB line in sc.ini (which makes it so link can't find phobos64.lib without help either) and using the following command: C:\test>dmd -v -m64 test.d -L d:/dmd2/windows/lib/phobos64.lib binary D:\dmd2\windows\bin\dmd.exe version v2.061 config D:\dmd2\windows\bin\sc.ini parse test importall test import object (D:\dmd2\windows\bin\..\..\src\druntime\import\object.di ) import core.stdc.stdio (D:\dmd2\windows\bin\..\..\src\druntime\import\c ore\stdc\stdio.d) import core.stdc.config (D:\dmd2\windows\bin\..\..\src\druntime\import\c ore\stdc\config.d) import core.stdc.stddef (D:\dmd2\windows\bin\..\..\src\druntime\import\c ore\stdc\stddef.d) import core.stdc.stdarg (D:\dmd2\windows\bin\..\..\src\druntime\import\c ore\stdc\stdarg.d) semantic test semantic2 test semantic3 test code test function D main C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\link.exe test /DEFAULTLIB:"d:\dmd2\windows\lib\phobos64.lib" /MERGE:.minfobg=.minfodt /MERGE:.minfoen=.minfodt /MERGE:._deh_bg=._deh_eh /MERGE:._deh_en=._deh_eh "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\x64" Microsoft (R) Incremental Linker Version 11.00.50727.1 Copyright (C) Microsoft Corporation. All rights reserved. LINK : fatal error LNK1104: cannot open file 'shell32.lib' --- errorlevel 1104 How is shell32.lib even getting pulled in? My LIB environment variable is not defined. The LIB line in sc.ini is commented out. Neither shell32.lib nor the directory it lives in appears in the linker command line output by DMD. However, according to grep phobos64.lib contains the string "shell32.lib". I'm not familiar with the .lib format, but does it allow for references to other object/library files that automatically get pulled in when linking a library? On Wed, Oct 24, 2012 at 7:38 PM, Walter Bright <walter@digitalmars.com>wrote: > > On 10/14/2012 12:55 PM, Walter Bright wrote: > >> >> http://ftp.digitalmars.com/**dmd2beta.zip<http://ftp.digitalmars.com/dmd2beta.zip> >> > > Now supports source line debugging with VS. No symbols yet. > > ______________________________**_________________ > dmd-beta mailing list > dmd-beta@puremagic.com > http://lists.puremagic.com/**mailman/listinfo/dmd-beta<http://lists.puremagic.com/mailman/listinfo/dmd-beta> > |
October 24, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Simcha Attachments:
|
On 10/24/2012 8:05 PM, David Simcha wrote:
>
> LINK : fatal error LNK1104: cannot open file 'shell32.lib'
> --- errorlevel 1104
>
> How is shell32.lib even getting pulled in?
c:\cbx\mars>grep -r shell32.lib *.d
runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
CommandLineToArgvW
hobos\std\process.d: pragma(lib,"shell32.lib");
|
October 25, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright Attachments:
| So I guess these should be versioned out in the Win64 builds then? What libs should replace them?
On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com>wrote:
>
> On 10/24/2012 8:05 PM, David Simcha wrote:
>
>
> LINK : fatal error LNK1104: cannot open file 'shell32.lib'
> --- errorlevel 1104
>
> How is shell32.lib even getting pulled in?
>
>
> c:\cbx\mars>grep -r shell32.lib *.d
> runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
> CommandLineToArgvW
> hobos\std\process.d: pragma(lib,"shell32.lib");
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
|
October 25, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Simcha Attachments:
| On 10/25/2012 6:34 PM, David Simcha wrote: > So I guess these should be versioned out in the Win64 builds then? > What libs should replace them? > The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini. > On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote: > > > On 10/24/2012 8:05 PM, David Simcha wrote: >> >> LINK : fatal error LNK1104: cannot open file 'shell32.lib' >> --- errorlevel 1104 >> >> How is shell32.lib even getting pulled in? > > c:\cbx\mars>grep -r shell32.lib *.d > runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for > CommandLineToArgvW > hobos\std\process.d: pragma(lib,"shell32.lib"); > |
October 25, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze Attachments:
| I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.
Perhaps we can have link.c use putenv to reset LIB when calling the linker.
On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>
> On 10/25/2012 6:34 PM, David Simcha wrote:
>> So I guess these should be versioned out in the Win64 builds then? What libs should replace them?
>>
>
> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>
>
>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>
>>
>> On 10/24/2012 8:05 PM, David Simcha wrote:
>>>
>>> LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>> --- errorlevel 1104
>>>
>>> How is shell32.lib even getting pulled in?
>>
>> c:\cbx\mars>grep -r shell32.lib *.d
>> runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
>> CommandLineToArgvW
>> hobos\std\process.d: pragma(lib,"shell32.lib");
>>
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
|
October 25, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright Attachments:
|
What about a different environment block for Win64 in sc.ini?
process [Environment] before command line processing, and process [Environment32] or [Environment64] afterwards, when the architecture is known.
On 10/25/2012 8:32 PM, Walter Bright wrote:
> I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.
>
> Perhaps we can have link.c use putenv to reset LIB when calling the linker.
>
> On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>>
>> On 10/25/2012 6:34 PM, David Simcha wrote:
>>> So I guess these should be versioned out in the Win64 builds then?
>>> What libs should replace them?
>>>
>>
>> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>>
>>
>>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>>
>>>
>>> On 10/24/2012 8:05 PM, David Simcha wrote:
>>>>
>>>> LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>>> --- errorlevel 1104
>>>>
>>>> How is shell32.lib even getting pulled in?
>>>
>>> c:\cbx\mars>grep -r shell32.lib *.d
>>> runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed
>>> for CommandLineToArgvW
>>> hobos\std\process.d: pragma(lib,"shell32.lib");
>>>
>>
>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta@puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
|
October 25, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze Attachments:
| That may be more implementation effort :-)
On 10/25/2012 11:50 AM, Rainer Schuetze wrote:
>
> What about a different environment block for Win64 in sc.ini?
>
> process [Environment] before command line processing, and process [Environment32] or [Environment64] afterwards, when the architecture is known.
>
>
> On 10/25/2012 8:32 PM, Walter Bright wrote:
>> I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.
>>
>> Perhaps we can have link.c use putenv to reset LIB when calling the linker.
>>
>> On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>>>
>>> On 10/25/2012 6:34 PM, David Simcha wrote:
>>>> So I guess these should be versioned out in the Win64 builds then? What libs should replace them?
>>>>
>>>
>>> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>>>
>>>
>>>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>>>
>>>>
>>>> On 10/24/2012 8:05 PM, David Simcha wrote:
>>>>>
>>>>> LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>>>> --- errorlevel 1104
>>>>>
>>>>> How is shell32.lib even getting pulled in?
>>>>
>>>> c:\cbx\mars>grep -r shell32.lib *.d
>>>> runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
>>>> CommandLineToArgvW
>>>> hobos\std\process.d: pragma(lib,"shell32.lib");
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta@puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta@puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
|
October 25, 2012 Re: [dmd-beta] D1 & D2 alpha's for Win64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright Attachments:
| Not that much: https://github.com/rainers/dmd/commit/e867c1a637530578d27c9e40d35674a56d2a10b6 Make it a pull request? On 10/25/2012 9:06 PM, Walter Bright wrote: > That may be more implementation effort :-) > > On 10/25/2012 11:50 AM, Rainer Schuetze wrote: >> >> What about a different environment block for Win64 in sc.ini? >> >> process [Environment] before command line processing, and process [Environment32] or [Environment64] afterwards, when the architecture is known. >> >> >> On 10/25/2012 8:32 PM, Walter Bright wrote: >>> I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable. >>> >>> Perhaps we can have link.c use putenv to reset LIB when calling the linker. >>> >>> On 10/25/2012 11:00 AM, Rainer Schuetze wrote: >>>> >>>> On 10/25/2012 6:34 PM, David Simcha wrote: >>>>> So I guess these should be versioned out in the Win64 builds then? >>>>> What libs should replace them? >>>>> >>>> >>>> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini. >>>> >>>> >>>>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote: >>>>> >>>>> >>>>> On 10/24/2012 8:05 PM, David Simcha wrote: >>>>>> >>>>>> LINK : fatal error LNK1104: cannot open file 'shell32.lib' >>>>>> --- errorlevel 1104 >>>>>> >>>>>> How is shell32.lib even getting pulled in? >>>>> >>>>> c:\cbx\mars>grep -r shell32.lib *.d >>>>> runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed >>>>> for CommandLineToArgvW >>>>> hobos\std\process.d: pragma(lib,"shell32.lib"); >>>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> dmd-beta mailing list >>>> dmd-beta@puremagic.com >>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta >>> >>> >>> >>> _______________________________________________ >>> dmd-beta mailing list >>> dmd-beta@puremagic.com >>> http://lists.puremagic.com/mailman/listinfo/dmd-beta >> >> >> >> _______________________________________________ >> dmd-beta mailing list >> dmd-beta@puremagic.com >> http://lists.puremagic.com/mailman/listinfo/dmd-beta > > > > _______________________________________________ > dmd-beta mailing list > dmd-beta@puremagic.com > http://lists.puremagic.com/mailman/listinfo/dmd-beta |
Copyright © 1999-2021 by the D Language Foundation