如何将VS向导生成的DLL工程切换到EXE配置

如何将VS向导生成的DLL工程切换到EXE配置

  • 问题现象
  • 操作步骤

问题现象

调试一个大的工程时手动对编写的代码进行单元测试,已经在工程属性对话框中将“配置”生成模式从“DLL”切换到“应用程序(即EXE)”配置。
具体如下图操作。

切换配置式的操作界面

但是编译时仍然提示如下错误:

1>Creating library D:\...\LAC_IO.lib and object D:\...\LAC_IO.exp
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol WinMain referenced in function __tmainCRTStartup
1>D:\...\LAC_IO.exe : fatal error LNK1120: 1 unresolved externals

后来查阅MSDN文档,发现这是定义了Windows程序的入口点但是没有找到匹配的位置。于是,对程序的子系统进行了如下修改。

连接器子系统配置

将生成DLL配置时默认的“Windows子系统”切换为“Console(即控制台)子系统”,切换后的设置如下。

连接器子系统配置结果

进行了这一步更改后,编译不在出现无法解析WinMain的错误提示。

虽然使用VS进行DLL联调也很容易进行,不过有时需要进行简单的单元测试。使用这个小技巧可以方便调试程序时临时切换DLL配置到EXE来达到此目的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值