MFC编程中遇到的问题记录

LINK : warning LNK4089: all references to "WS2_32.dll" discarded by /OPT:REF

强烈谴责“第七城市”在未与我沟通之情况下,擅自发布我博客之内容于“第七城市”之网站上,在此强烈谴责!

1、在工程->设置->连接->工程选项中 添加  /opt:noref  即可。

出现这种情况的原因:

这个问题一般出现在release版中,当release版编译时会对代码进行优化,将程序中实际上并没用到的,而在工程中链接了的库放弃而不编译到工程中去。可在工程设置中的Link中的input中ingore libraries中将该库的lib文件名输入

error LNK2001: unresolved external symbol __imp__WSAStartup@8

因为没有链接socket库ws2_32.lib。

对于VC6.0要在porject/settings的link页面中object/library modules中添ws2_32.lib就可以了。因为在工程中使用了网络编程的相关API函数。

#pragma comment(lib,"ws2_32.lib")即可解决。

error C2501: 'SOCKADDR_IN' : missing storage-class or type specifiers
没有添加该结构体的头文件

#include <WINSOCK2.H>即可解决。

扫描二维码关注公众号,回复: 1861726 查看本文章

VC6.0如何在Realease模式下进行Debug单步调试

只需要设置相应编译环境,RELEASE同样可以像DEBUG版本设置断点,查看参数。
步骤如下:
1、在Project Settings里选Settings For为All Configurations。
2、在C/C++标签中,Debug info 选 Program Database。
3、在Link 标签中,Category选 Debug,选中Debug info 复选框和Microsoft format。
现在就可以像在Debug版本中那样设置断点进行测试了,但是记住,Release版本由于代码优化,有些变量是观察不到的,行的运行顺序可能也会不同

以上内容引用自: http://blog.csdn.net/wangqinghao/article/details/7730428


关于DirectDraw进行编程的时候发现创建离屏表面失败的时候

一定要按顺序一步步往上查,是不是之前的存在的原因造成的!


LINK : fatal error LNK1104: cannot open file "d3dx9.lib"
解决方法:直接找到d3dx9.lib文件拷贝到工程文件夹下,或者直接添加到工程里面。d3dxof.lib dxguid.lib d3dx9d.lib d3d9.lib winmm.lib或者这些加到工程里面去。

猜你喜欢

转载自blog.csdn.net/mce_19/article/details/77175685