描述:
问题1:关于idl,我创建了一个win32 dll工程,第二步选Simple project,怎么来往工程里加一个idl文件。怎么自动生成?还是要自己在编辑器中写好?
问题2:error LNK2001: unresolved external symbol __imp__gethostname@8
这个错误什么意思?怎么办?
解决方案1:
1。idl文件可以自己添加,不过一般不这样做,
以后你做ACTIVEX ,COM时就明白了,VC基本上会自动生成。
自己一般不写的,基本上是修改。
2。需要连接库Ws2_32.lib
在project->linking(catalog : gernerally)->object/liberay module中
添加:Ws2_32.lib 就可以了。
上面两位已经说了!
解决方案3: 1。 直接生成一个.idl为扩展名的文本文件,然后添加进工程中即可(或通过New菜单项新建一个IDL文件以添加进工程),工程会自动编译添加进去的.idl文件。至于编辑这个.idl文件,当然只有通过手工,在编辑器中编辑,不过当生成了接口后,也可以通过VC的向导来添加接口的方法,而不用手工编辑
2。 它是说楼主的代码中调用了函数gethostname,但是在工程中却找不到这个函数的定义,因此连接失败。这个函数如果是从第三方得到的(即一个dll),在工程中需包含其对应的.lib文件(可简单地将那个.lib文件添加进工程)。如果是自己写的,楼主请检查一下是否原来由于调试的需要将那个函数的定义暂时注释掉了