win32 api & lib issue
    Peter Hu 
    peterhu.peterhu at outlook.com
       
    Thu Nov  2 08:31:41 UTC 2023
    
    
  
Greetings!
 From time to time I encountered issues on the subjected after I 
upgraded my dmd package.Given below code :
import core.sys.windows.windows;
import core.sys.windows.commdlg;
import core.sys.windows.winuser;
extern(Windows) BOOL GetOpenFileNameW(LPOPENFILENAMEW);
extern(Windows) int MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
     void main()
     {
     	wchar[256] fileName;
     	fileName[0]=0;
     	OPENFILENAMEW ofn;
     	
     	ofn.lStructSize=OPENFILENAMEW.sizeof;
     	ofn.lpstrFilter=
     	"Text Files\0*.txt\0 D files\0*.d;*.di\0\0"w.ptr;
     	ofn.lpstrFile=fileName.ptr;
     	ofn.nMaxFile=fileName.length;
     	if(GetOpenFileNameW(&ofn))
     	{
     		MessageBoxW(null,ofn.lpstrFile,"File Selected:"w.ptr,0);	
     	}
     }
The compiler failed to build this small program.It complains 
GetOpenFileNameW & MessageBoxW are unresolved external symbol.
DMD 2.103+VS Community 2015+Win10 64bit.
estwinapi.obj : error LNK2019: 无法解析的外部符号 
_GetOpenFileNameW at 4,该符号在函数 __Dmain 中被引用
testwinapi.obj : error LNK2019: 无法解析的外部符号 _MessageBoxW at 16,该符号在函数 
__Dmain 中被引用
testwinapi.exe : fatal error LNK1120: 2 个无法解析的外部命令
Error: linker exited with status 1120
Appreciated any help on figuring me out what the issue is and how 
to fix it.
    
    
More information about the Digitalmars-d-learn
mailing list