1

我正在尝试为此问题在逆向工程 stackexchange 上编译一个 16 位 Windows DLL 。

以下是我的绝对最小源文件:

我的dll.c

int main (int reason) {
  return 0;
}

我的dll.lnk

FORMAT WINDOWS DLL

LIBPATH .\openwatcom\lib286
LIBPATH .\openwatcom\lib286\win

LIBRARY windows

FILE mydll.obj
NAME mydll

我是他们使用以下两个命令来编译和链接 DLL。

# Build
openwatcom\binnt\wcc.exe -i='openwatcom\h;openwatcom\h\win' -bd -w4 -d2 -zu -bt=windows -fo=.obj -ml mydll.c

# Link
openwatcom\binnt\wlink.exe @mydll.lnk

但由于某种原因,链接步骤失败并显示以下消息:

Error! E2028: __DLLstart_ is an undefined reference
Error! E2028: __fpmath is an undefined reference
creating a Windows dynamic link library
file clibl.lib(sigfpe.c): undefined symbol __fpmath

我的目标只是能够构建一个 16 位 DLL 文件,最好是在我的 Mac 上使用 wine,但我也有一个 Windows XP 虚拟机,所以这也是可以接受的。

4

0 回答 0