禁用Qt中的Glib事件循环-Qt_NO_Glib未生效
Disable Glib event loop in Qt - QT_NO_GLIB not taking effect
当我运行线程检查工具helgrind(valgrind toolsuite)时,我在glib库中看到了很多错误。我想压制那些。
禁止显示文件是一种选择。但我发现:如何使用helgrind调试多线程Qt应用程序。它建议我可以将QT_NO_GLIB环境变量设置为1,以防止QT使用GLIB。
已尝试。。。
$ export QT_NO_GLIB=1
$ valgrind --tool=helgrind --log-file=helgrind.log ./app
$ grep -o 'g_[_a-z]*' helgrind.log
g_main_context_dispatch
g_main_loop_run
g_mutex_init
g_mutex_lock
g_object_new
...
$ env | grep QT_NO_GLIB
QT_NO_GLIB=1
但是helgrind日志包含了许多对Glib函数的引用。如何设置QT_NO_GLIB环境变量?我正在运行Ubuntu 13.04,使用Qt 4.8.3。
您看到的Glib调用肯定不是来自Qt本身。您可以通过git克隆来自的Qt4.x源代码来验证http://code.qt.io/cgit/qt/qt.git/然后对"g_main_context_dispatch"执行grep。你什么也找不到。这意味着Glib调用来自一些第三方插件或二进制文件的其他依赖项。
使用"export QT_NO_GLIB=1"禁用GLIB事件调度程序是正确的。
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- c++20[[no.unique_address]]中的新功能是什么
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- "no matching function for call to 'Vector::Vector'"错误
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 处理"no operator found"
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 如何解决"no Qt platform plugin could be initialized"问题?
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- 为什么当我在 std::string 中打开文件名的 fstream 时出现"no matching function"错误?
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- do while 循环中的 if 语句以 yes 或 no 结尾
- 从 TVector2 类派生复杂类:"No matching function for call to Complex::Complex()"
- 错误消息:使用"string* +="后"no match for 'operator+='"
- Eulers 项目问题 no 345 听不懂几行代码
- "No-Const Pointer to Const "调用功能
- 为什么 Glib::VariantBase::store 方法破坏了给定缓冲区的开始
- 如何在 c++ 中将 s1 和 s2 与 no if 语句进行比较
- "No such file or directory" C++标头问题