• escu问题及解决


    **************************************************************

    Qt 出现“undefined reference to `vtable for”原因总结

    -----------------------------------------------------------------

    出错原因是在定义类的时候为了能使用signals和slot,在类定义的后面加了Q_OBJECT引起。 因为Q_OBJECT是一个宏,在不同的类中展开是不同的代码。

    错误正是因为Makefile里没有将moc_XXX.cpp加入编译引起。

    Makefile背后的原因是qmake,因为Qt的编译系统是通过qmake将.pro 文件转换成Makefile文件。当qmake扫描.h代码时发现有Q_OBJECT这样字眼的代码时,会将一个用moc生成moc_xxx.cpp代码 的依赖关系写到Makefile里。如果扫描时没有找到Q_OBJECT就不会生成额外的moc_xxx.cpp这样的文件。

    出现最初一幕的原因是在执行qmake的时候.h代码里并没有O_OBJECT这样的代码。而执行make的时候.h里已经有Q_OBJECT了,解决的方法就是重新执行qmake,然后执行make.

    高涛实际解决办法:
    清理项目;
    删除掉makefile文件。

    **************************************************************

    使用ftp的问题

    -----------------------------------------------------------------

    从服务器下载升级文件时,要求使用进度条功能,正好ftp提供了相应功能,对应的函数为S_egetProgressVal。
    测试了下,大概可以用,该函数会不断地被ftp功能调用,并且会传回进度值。
    但是,仔细测试后,发现:在下载完成后S_egetProgressVal才会被调用。
    经检查,原因为,我在使用ftp_get后,通过一个while循环来判断是否下载完成了(通过变量g_iFTPSendLogFileResult),
    而这样做阻塞了该线程,导致S_egetProgressVal不能被及时调用。
    修改为:执行ftp_get后,如果下载完成,在FtprevalueReport函数中可以得到结果,这是以异步的方式得到结果的,因此不会阻塞。

    结论:ftp_get后最好不要由其他内容

    **************************************************************

    使用shell执行命令的问题

    -----------------------------------------------------------------

    想执行的命令为:

    ll

    错误提示为未找到命令。

    原因:

    ll是ls -l 的 别名,似乎不能用别名。

  • 相关阅读:
    json python
    mysql存储json
    C#中使用Newtonsoft.Json序列化和反序列化自定义类对象
    IDEA 中的.iml文件和.idea文件夹 ( 隐藏方式 )
    C#中Newtonsoft.Json.dll 的使用 序列化 JsonConvert.SerializeObject(obj) Object 反序列 obji = JsonConvert.DeserializeObject<Object>(json数据);
    [python] JSON
    编程经验:分组条件查询having
    软件汉化:OllyDBG 入门之三简介及常用命令
    读书札记: [转] 失去目标的时候进来看看!
    软件汉化:OllyDBG 入门之二破解预备知识(转)
  • 原文地址:https://www.cnblogs.com/gaotaozhaolei/p/8490242.html
Copyright © 2020-2023  润新知