win32 api & lib issue

Peter Hu peterhu.peterhu at outlook.com
Thu Nov 2 12:28:07 UTC 2023


On Thursday, 2 November 2023 at 12:01:18 UTC, ryuukk_ wrote:
> On Thursday, 2 November 2023 at 10:17:37 UTC, Peter Hu wrote:
>> On Thursday, 2 November 2023 at 10:02:29 UTC, Imperatorn wrote:
>>> On Thursday, 2 November 2023 at 09:58:21 UTC, Peter Hu wrote:
>>>> [...]
>>>
>>> I'm not sure why, it works for me, but I think it could be 
>>> something dmd does different. The pragma lib is inserted into 
>>> the generated object file, or otherwise passed to the linker, 
>>> so the linker automatically links in that library.
>>>
>>> I'm guessing dmd for some reason does not see it in the 
>>> submodule, but I have no proof that's the issue, I'm just 
>>> guessing.
>>
>> Really appreciated for the help.I am learning to understand.
>> Not using these two pragma in the source,other in the 
>> commandline:dmd -m64 user32.lib comdlg32.lib test.d 
>> compiled.But---
>> In an IDE say PoseidonD it still failed to compile even if I 
>> provided the library path to the compiler,I just can't 
>> understand how come my other small programs ( based on gui 
>> libslike DFL2,iup4D,dwt,NAppGui4D ) works fine without having 
>> to provide pragma in the source before compiling.
>
> It's probably because these libraries already have the symbols

Just tried to compile winsamp.d (dmd package 
folder--dmd/samples/d),exactly the same issue.Many many years ago 
I once played with this winsamp.d for testing win32 api 
(configuration ok or not) and it get passed without those two 
pragma.I am thinking whether it is related to MS VC lib path or 
MS VS path.


More information about the Digitalmars-d-learn mailing list