尝试使用MSVC13从Windows 7上的源代码构建Qt 5.6。编译很顺利,但我得到两个关于多重定义符号的链接器错误:
Qt5SerialBus.lib(qmodbusdevice.obj) : error LNK2005: "class QLoggingCategory const & __cdecl QT_MODBUS(void)" (?QT_MODBUS@@YAAEBVQLoggingCategory@@XZ) already defined in mainwindow.obj
Qt5SerialBus.lib(qmodbusdevice.obj) : error LNK2005: "class QLoggingCategory const & __cdecl QT_MODBUS_LOW(void)" (?QT_MODBUS_LOW@@YAAEBVQLoggingCategory@@XZ) already defined in mainwindow.obj
release\adueditor.exe : fatal error LNK1169: one or more multiply defined symbols found
我怀疑问题(和解决方案)类似于this one,其中有问题的函数可以直接标记,但是我无法在modbus代码中找到这两个函数的定义。有谁知道" QT_MODBUS"和" QT_MODBUS_LOW"已定义,还是有其他解决方法?