严重性 代码 说明 项目 项目级别 路径 文件 行 列 源 禁止显示状态 详细信息错误 LNK2019 无法解析的外部符号 WinMain,函数 “int __cdecl invoke_main(v

13 篇文章 0 订阅
文章介绍了在使用Qt进行测试时遇到的缺少WinMain入口函数的问题,提供了解决方法,包括修改项目属性设置,并给出了包含成功与失败测试案例的CalculatorTest示例。
摘要由CSDN通过智能技术生成

# 手动添加测试模块 test
扩展 -> qt vs tools -> qt project settings -> qt project settings -> general -> moudels

# 手动添加测试模块 有报错

这个错误通常是由于缺少入口函数WinMain引起的。在使用Qt的测试框架时,可以通过定义一个特殊的宏来解决这个问题。

请按照以下步骤进行操作:

1. 打开您的测试项目的属性页。

2. 导航到“链接器 -> 系统”。

3. 将“子系统”设置为“Windows (/SUBSYSTEM:WINDOWS)”。

4. 导航到“链接器 -> 命令行”。

5. 在“附加选项”字段中添加以下内容:

```
/ENTRY:mainCRTStartup
```

6. 重新编译和运行项目,看看是否解决了LNK2019和LNK1120错误。

这样做会将项目的入口点设置为mainCRTStartup,从而解决LNK2019和LNK1120错误。

# 测试结果 显示

********* Start testing of CalculatorTest *********
Config: Using QtTest library 5.14.2, Qt 5.14.2 (x86_64-little_endian-llp64 shared (dynamic) debug build; by MSVC 2017)
PASS   : CalculatorTest::initTestCase()
PASS   : CalculatorTest::testAddition()
PASS   : CalculatorTest::testSubtraction()
PASS   : CalculatorTest::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of CalculatorTest *********

# 测试结果 有报错的
********* Start testing of CalculatorTest *********
Config: Using QtTest library 5.14.2, Qt 5.14.2 (x86_64-little_endian-llp64 shared (dynamic) debug build; by MSVC 2017)
PASS   : CalculatorTest::initTestCase()
FAIL!  : CalculatorTest::testAddition() Compared values are not the same
   Actual   (result): 5
   Expected (6)     : 6
D:\360MoveData\Users\Administrator\Desktop\vs_utils\test_qtTest\test_qtTest\calculatortest.cpp(10) : failure location
PASS   : CalculatorTest::testSubtraction()
PASS   : CalculatorTest::cleanupTestCase()
Totals: 3 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of CalculatorTest *********

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值