使用QTestLib构建测试时,我得到一个qCompare函数的"未定义符号"错误:
Undefined symbols for architecture x86_64:
"__ZN5QTest8qCompareIimEEbRKT_RKT0_PKcS8_S8_i", referenced from:
__ZN15MyTestClass22myTestFunctionEv in MyTestClass.o
Run Code Online (Sandbox Code Playgroud)
您可以通过c++filt在shell命令中传递它来解密受损的符号:
echo __ZN5QTest8qCompareIimEEbRKT_RKT0_PKcS8_S8_i | c++filt
Run Code Online (Sandbox Code Playgroud)
...打印这样的C++函数签名:
bool QTest::qCompare<int, unsigned long>(int const&, unsigned long const&, char const*, char const*, char const*, int)
Run Code Online (Sandbox Code Playgroud)
QCOMPARE宏的两个参数- 即qCompare函数的两个模板参数- 必须具有完全相同的类型.例如,如果一个是a int而另一个是a ,则会出现错误size_t.
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |