Trying to create a trivial 64 bit D Lang DLL on a Windows 10 machine and cant get past linking.

WhatMeWorry kheaser at gmail.com
Tue Sep 29 21:22:21 UTC 2020


module user;

export { int myAddSeven(int a, int b); }

void main()
{
     int total = myAddSeven(2, 3);
}


>dmd -m64 -c user.d


module mydll;

export extern(D) {
     int myAddSeven(int a, int b) { return a+b+7; }  /* <-- 
function body */
}

>dmd -c -shared -m64  mydll.d

>link mydll.obj /DLL /NOENTRY
Microsoft (R) Incremental Linker Version 14.27.29111.0
Copyright (C) Microsoft Corporation.  All rights reserved.

    Creating library mydll.lib and object mydll.exp



>link user.obj /implib:mydll.lib
Microsoft (R) Incremental Linker Version 14.27.29111.0
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : fatal error LNK1104: cannot open file 'phobos64.lib'

or when I give the linker phobos64.lib

>link user.obj /implib:mydll.lib /LIBPATH:C:\D\dmd2\windows\lib64
Microsoft (R) Incremental Linker Version 14.27.29111.0
Copyright (C) Microsoft Corporation.  All rights reserved.

user.obj : error LNK2019: unresolved external symbol 
__imp__D4user10myAddSevenFiiZi referenced in function _Dmain
phobos64.lib(stacktrace_1be8_3e5.obj) : error LNK2019: unresolved 
external symbol snprintf referenced in function 
_D4core3sys7windows10stacktrace10StackTrace13resolveNoSyncFAxmZAAa
phobos64.lib(demangle_c96_79b.obj) : error LNK2001: unresolved 
external symbol snprintf
phobos64.lib(parseoptions_e2c_21b.obj) : error LNK2001: 
unresolved external symbol snprintf
phobos64.lib(parseoptions_e2c_21b.obj) : error LNK2019: 
unresolved external symbol sscanf referenced in function 
_D4core8internal12parseoptions5parseFNbNiAxaKANgaKfQkZb
user.exe : fatal error LNK1120: 3 unresolved externals



More information about the Digitalmars-d-learn mailing list