• 《民法典》是如何看待人的

    ·

    发布于

    修改于

    我们的民法典首先是把人定位为推动实现自身自由和全面发展的主体,然后人才是实现一个国家、一个民族所追求的另外的发展目标的主体。


  • 带读写锁的list和map

    ·

    发布于

    修改于

    #pragma once
    #include <boost/thread.hpp>
    #include <list>
    #include <map>
    
    template <typename T>
    class shared_list : public std::list<T>, public boost::shared_mutex {};
    
    template <typename T1, typename T2>
    class shared_map : public std::map<T1, T2>, public boost::shared_mutex {};

  • 第一次安装使用CPU自带的散热器

    ·

    发布于

    修改于

    AMD自带的散热器
    这玩意还有灯

  • MSVC结构体对齐

    ·

    发布于

    修改于

    结构体对齐测试

  • Windows命名管道注意事项

    ·

    发布于

    修改于

    1. CreateNamedPipeConnectNamedPipe函数之间,如果有客户端连接管道,是可以建立有效连接的,但是ConnectNamedPipe的返回值为FALSE,并且GetLastError返回ERROR_PIPE_CONNECTED。这个连接和正常用ConnectNamedPipe接收到的连接是一样的(MSDN上说的很清楚)。
    2. 客户端在使用TransactNamedPipe函数的时候,如果管道没有准备好,会返回错误,解决方法是使用SetNamedPipeHandleState函数将客户端管道改为PIPE_READMODE_MESSAGE模式。CallNamedPipe函数没有这个问题。


  • VS2019静态编译Qt 6.0.2

    ·

    发布于

    修改于

    准备工作

    编译需要用到以下工具:

    1. Perl version 5.12 or later [http://www.activestate.com/activeperl/]
    2. Python version 2.7 or later [http://www.activestate.com/activepython/]
    3. Ruby version 1.9.3 or later [http://rubyinstaller.org/]
    4. CMake
    5. ninja(将ninja.exe复制到源码目录)

    配置编译选项

    在源码目录执行以下命令,就可以生成静态链接运行时库的Qt静态库了。

    configure -prefix "C:\Qt" -confirm-license -opensource -debug-and-release -static -static-runtime -platform win32-msvc -opengl desktop

    如果需要一些第三方组件,可以像加上第三方组件的配置,如下所示。

    configure -prefix "C:\Qt" -confirm-license -opensource -debug-and-release -static -static-runtime -platform win32-msvc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop

    编译

    配置完成后执行ninja.exe即可完成编译,而后执行ninja.exe install即可将库文件和头文件都拷贝到之前-prefix指定的目录中。

    清理

    ninja.exe -t clean

    可能遇到的问题

    如果编译遇到下面这个问题,可以按照下面链接中的方法解决。

    错误截图

  • MSVC2019编译Qt6.0.2时遇到的一个编译错误

    ·

    发布于

    修改于

    在用MSVC2019编译Qt6.0.2版本时需要到了下面这个编译错误。

    错误截图

    编译失败了,提示错误信息在qtquick3d\src\3rdparty\assimp\src\code\PostProcessing\ComputeUVMappingProcess.cpp文件中的125行。那我我就找到ComputeUVMappingProcess.cpp这个文件的125行看一下。

    报错代码处

    这里定义了一个unsigned int变量,名为small。说这个int后面有char,这为什么会这样呢,排查之下发现原来是在rpcndr.h文件中已经用宏把small定义成了char

    rpcndr.h中的关键部分

    知道了错误原因就很好办了,因为这个small是个局部变量,所以很好改,只需要将这个变量改个名字就行了,我这里改成small1,然后编译顺利通过。

    修改后的代码

  • 分享一句话,是不是很多人中枪了

    ·

    发布于

    修改于

    明明上班摸鱼了一整天,回到家还很同情自己,觉得自己很辛苦,打游戏、刷剧、吃垃圾食品、熬夜,心安理得,这种连自己都骗的人最可悲。


最新