回 帖 发 新 帖 刷新版面

主题:如何生成Directx程序的Release版本?

Directx版的四子棋编好了,生成Debug版本时一切OK,但生成Relese版本时提示出错,为啥呢?怎么办啊?
下面是出错信息:
--------------------Configuration: 四子棋2 - Win32 Release--------------------
Compiling resources...
Compiling...
Ai.cpp
App.cpp
MyFrame.cpp
Linking...
MyFrame.obj : error LNK2001: unresolved external symbol _DirectDrawCreateEx@16
MyFrame.obj : error LNK2001: unresolved external symbol _IID_IDirectDraw7
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Release/四子棋2.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

四子棋2.exe - 5 error(s), 0 warning(s)

回复列表 (共3个回复)

沙发

Release版本的“配置”问题,你在Debug下配置的不代表Release下就可以。

可能在Release配置中没有添加.lib文件

板凳

包含DXGUID.LIB试试看,具体你看看link选项目卡吧。

3 楼

我试了下,在Release配置中的Link选项卡中加入Dxguid.lib Ddraw.lib,编译后还是有错,再在General选项卡中选择Use MFC in a Static Library,然后选编译菜单的第三项"重建全部"后,编译提示无错误但有1个警告(不知为何?),不管他,按F7编译后才一切OK了! (若再按"重建全部"后问题又出现.)

问题如下:
Linking...
LINK : warning LNK4089: all references to "comdlg32.dll" discarded by /OPT:REF

四子棋2.exe - 0 error(s), 1 warning(s)

我来回复

您尚未登录,请登录后再回复。点此登录或注册