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

Reply via email to