August 25, 2003 Making a DLL | ||||
---|---|---|---|---|
| ||||
I am attempting to build a DLL using DMC 8.34 and the tool chain from the CD. My initial attempts simply used the '-mn -WD' options and listed the code files. When that failed, I fired up the IDDE and set up a Win32 DLL project. In both cases, I get the same giant list of errors involved being unable to export symbols. I am sure that I'm just doing something foolish. In particular, I have not added GDI32.lib and other system libraries that I need to build the project. I don't directly see how that would cause the "cannot export" errors, but I certainly see how it would cause the "undefined" errors. Here is an abbreviated example of the output. I cut out most of my member functions, because they were boring. I left the "undefined" errors for the various library functions alone, in case those were somehow useful. Any suggestions would be greatly appreciated. Mac Reiter reiter@nomadics.com nomadicsgraphdll.obj(nomadicsgraphdll) Offset 04BA2H Record Type 0091 Error 1: Previous Definition Different : _GarbageReturn nomadicsgraphdll.obj(nomadicsgraphdll) Offset 04BB6H Record Type 0091 Error 1: Previous Definition Different : _GarbageReturn nomadicsgraphdll.obj(nomadicsgraphdll) Offset 04BCAH Record Type 0091 Error 1: Previous Definition Different : _GarbageReturn nomadicsgraphdll.obj(nomadicsgraphdll) Offset 04BDEH Record Type 0091 Error 1: Previous Definition Different : _GarbageReturn nomadicsgraphdll.obj(nomadicsgraphdll) Offset 04BF8H Record Type 0091 Error 1: Previous Definition Different : _GarbageReturn OPTLINK : Error 180: No Match Found for Export/ENTRY - : CreateGraph OPTLINK : Error 180: No Match Found for Export/ENTRY - : DestroyGraph nomadicsgraphdll.obj(nomadicsgraphdll) Error 42: Symbol Undefined _InterlockedIncrement@4 nomadicsgraphdll.obj(nomadicsgraphdll) Error 42: Symbol Undefined _InterlockedDecrement@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GetTextExtentPoint32A@16 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _IntersectClipRect@20 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _DeleteDC@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GetLastError@0 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _EndDoc@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _EndPage@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GetDeviceCaps@8 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _StartPage@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _StartDocA@8 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GlobalUnlock@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _CreateDCA@16 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GlobalLock@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _PageSetupDlgA@4 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _SelectClipRgn@8 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _SetTextColor@8 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _SetBkColor@8 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GetTickCount@0 nomadicsgraph.obj(nomadicsgraph) Error 42: Symbol Undefined _GetLocalTime@4 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CloseHandle@4 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _DeleteObject@4 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _SelectObject@8 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _WriteFile@20 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _GdiFlush@0 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _BitBlt@36 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateDIBSection@24 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateCompatibleDC@4 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateFileA@28 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _GetDIBits@28 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateCompatibleBitmap@12 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreatePen@12 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _Polyline@12 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _StretchBlt@44 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _SetPixel@16 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _GetPixel@12 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateSolidBrush@4 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateFontIndirectA@4 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _MulDiv@12 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _PatBlt@24 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateRectRgn@16 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _GetClipRgn@8 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _SetBkMode@8 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _CreateFontA@56 nomadicspicture.obj(nomadicspicture) Error 42: Symbol Undefined _GetStockObject@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(dllstart) Error 42: Symbol Undefined _GetCurrentThreadId@0 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(dllstart) Error 42: Symbol Undefined _GetVersion@0 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(isctype) Error 42: Symbol Undefined _GetStringTypeA@20 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(cinit) Error 42: Symbol Undefined _GetEnvironmentStrings@0 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(cinit) Error 42: Symbol Undefined _FreeEnvironmentStringsA@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(semlock) Error 42: Symbol Undefined _CreateSemaphoreA@16 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(semlock) Error 42: Symbol Undefined _ReleaseSemaphore@12 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(semlock) Error 42: Symbol Undefined _WaitForSingleObject@8 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(signal) Error 42: Symbol Undefined _SetConsoleCtrlHandler@8 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(wctomb) Error 42: Symbol Undefined _WideCharToMultiByte@32 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(_exit) Error 42: Symbol Undefined _ExitProcess@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(tolower) Error 42: Symbol Undefined _LCMapStringA@24 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(MBTOWC) Error 42: Symbol Undefined _MultiByteToWideChar@24 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(io) Error 42: Symbol Undefined _GetStdHandle@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(io) Error 42: Symbol Undefined _SetHandleCount@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(io) Error 42: Symbol Undefined _DeleteFileA@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(except) Error 42: Symbol Undefined _SetUnhandledExceptionFilter@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(flush) Error 42: Symbol Undefined _SetFilePointer@16 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(setmbcp) Error 42: Symbol Undefined _GetACP@0 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(setmbcp) Error 42: Symbol Undefined _GetOEMCP@0 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(setmbcp) Error 42: Symbol Undefined _GetCPInfo@8 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(w32fater) Error 42: Symbol Undefined _WriteConsoleA@20 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(ehsup) Error 42: Symbol Undefined _RtlUnwind@16 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(rtti) Error 42: Symbol Undefined _RaiseException@16 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(sbrk) Error 42: Symbol Undefined _VirtualFree@12 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(sbrk) Error 42: Symbol Undefined _VirtualAlloc@16 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(write) Error 42: Symbol Undefined _GlobalFree@4 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(write) Error 42: Symbol Undefined _GlobalAlloc@8 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(read) Error 42: Symbol Undefined _ReadFile@20 D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(isatty) Error 42: Symbol Undefined _GetFileType@4 OPTLINK : Warning 148: USE16/USE32 Mismatch : DGROUP D:\DEVTOOLS\DM\BIN\..\lib\SNN.lib(dllstart) Error 83: Illegal frame on start address OPTLINK : Warning 174: 32-bit Segments Inappropriate for 16-bit Segmented output OPTLINK : Error 81: Cannot EXPORT : CreateGraph OPTLINK : Error 81: Cannot EXPORT : DestroyGraph nomadicsgraphdll.obj(nomadicsgraphdll) Error 35: Cannot Reach TARGET from FRAME at Relative 0003BH from Segment _TEXT FRAME = Frame of Group FLAT 0000 TARGET = External Symbol ??1NomadicsGraph@@QAE@XZ (syscall NomadicsGraph::~NomadicsGraph(void )) 05F45H FIXUPP Type = 32-bit Conditional JMP --- errorlevel 440 |
August 25, 2003 Re: Making a DLL | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mac Reiter | Never mind... After I included gdi32.lib, kernel32.lib, and comdlg32.lib on my build line, the imports worked and, suddenly, the exports were perfectly happy. Don't know why, but it works, and I've got a DLL. Sorry for the wasted bandwidth. Mac In article <bidukv$258l$1@digitaldaemon.com>, Mac Reiter says... > >I am attempting to build a DLL using DMC 8.34 and the tool chain from the CD. > >My initial attempts simply used the '-mn -WD' options and listed the code files. When that failed, I fired up the IDDE and set up a Win32 DLL project. In both cases, I get the same giant list of errors involved being unable to export symbols. > >I am sure that I'm just doing something foolish. In particular, I have not added GDI32.lib and other system libraries that I need to build the project. I don't directly see how that would cause the "cannot export" errors, but I certainly see how it would cause the "undefined" errors. > >Here is an abbreviated example of the output. I cut out most of my member functions, because they were boring. I left the "undefined" errors for the various library functions alone, in case those were somehow useful. Any suggestions would be greatly appreciated. |
Copyright © 1999-2021 by the D Language Foundation