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