使用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 次 |
最近记录: |