论坛首页 综合技术版 D语言

DMD的诡异"Previous Definition Different"错误

浏览 1029 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-12-16
我用poseidon新建一个全新工程
编译参数加入-g(就是加入调试信息),
试一试如下代码,就会有如"Previous Definition Different"

代码:

import std.c.windows.windows, std.c.windows.winsock;

static this(){
WSADATA wd;
}
int main (){
htons(9001);
return 0;
}

很奇怪...


完整的错误信息如下
Command >>> ReBuilding Project: stalk......
D:\myWay\env\d\env\dmd\bin\dmd.exe D:\myWay\D\stalk\stalk.d -ofstalk -
ID:\myWay\env\d\env\dmd\import D:\myWay\env\d\env\dmd\lib\WS2_32.LIB -
odobjs -g

D:\myWay\env\d\env\dmd\bin\..\..\dm\bin\link.exe objs\stalk,stalk,,D:
\myWay\env\d\env\dmd\lib\WS2_32.LIB+user32+kernel32/co/noi;

OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
D:\myWay\env\d\env\dmd\bin\..\lib\phobos.lib(winsock) Offset 2597FH
Record Type 00C3
Error 1: Previous Definition Different : _htons@4

提交了这个bug

http://d.puremagic.com/issues/show_bug.cgi?id=1737+
   
时间:2007-12-16
版本问题?
   
0 请登录后投票
时间:2007-12-16
不清楚.去了-g就好了
   
0 请登录后投票
时间:2007-12-17
连接器确实是有点问题,官方 NG 里的抱怨很多。
   
0 请登录后投票
时间:2007-12-17
一个已知的问题是 OMF 格式限制标识符不能超过 4k,一个稍微复杂的模板递归很可能超过
   
0 请登录后投票
时间:2007-12-18
应该不是编译器的问题。不需要链接w2_32.lib
   
0 请登录后投票
论坛首页 综合技术版 D语言

跳转论坛:
快速回复 引用上一条消息 (Alt+S)