View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001953 | unreal | ircd | public | 2004-07-12 15:48 | 2004-07-12 16:43 |
| Reporter | AngryWolf | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | open | ||
| Product Version | 3.2.1 | ||||
| Summary | 0001953: Missing symbols from wircd.def | ||||
| Description | Zell reported that the following modules of mine couldn't be compiled due to unresolved symbols: 1. regexban: regexban.obj : error LNK2001: unresolved external symbol _regfree regexban.obj : error LNK2001: unresolved external symbol _regerror regexban.obj : error LNK2001: unresolved external symbol _regcomp regexban.obj : error LNK2001: unresolved external symbol _regexec src/modules/angry/regexban.dll : fatal error LNK1120: 4 unresolved externals NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. 2. cgiirc Creating library src/modules/cgiirc.lib and object src/modules/cgiirc.exp cgiirc.obj : error LNK2001: unresolved external symbol _gethostbyname@4 cgiirc.obj : error LNK2001: unresolved external symbol _inet_addr@4 src/modules/angry/cgiirc.dll : fatal error LNK1120: 2 unresolved externals NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. To fix the errors, would you mind adding these symbols to wircd.def? Thanks in advance. | ||||
| 3rd party modules | |||||
|
|
Uhh no? Those symbols are not defined in Unreal, they are defined in other libraries. The wircd.def is for symbols defined in wircd.exe, none of those are. On *nix, the socket stuff is in libc, as is regexp, so it works. On Windows, sockets are in Winsocks, and there is no regexp so you'll need to use libtre. For gethostbyname/inet_addr you'll need to link to ws2_32.lib: nmake -f makefile.win32 custommodule MODULEFILE=cgiirc EXLIBS=ws2_32.lib For regexp you'll need to link to the included libtre: nmake -f makefile.win32 custommodule MODULEFILE=regexban EXLIBS=src\win32\tre.lib Just like on *nix, EXLIBS can be used when you need to specify additional libraries. Using the above commands, I was able to compile both of those modules just fine. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2004-07-12 15:48 | AngryWolf | New Issue | |
| 2004-07-12 16:43 |
|
Status | new => closed |
| 2004-07-12 16:43 |
|
Note Added: 0007024 |