我在Qt4使用了QActiveX模块时,会出现如下错误:
LINK : fatal error LNK1181:>
无法打开输入文件“d:\src\osgeo4w64\src\qt-everywhere-opensource-src-4.8.5\lib\QtGui4.lib”
但是,如果我不用Qt的ActiveX模块时,程序运行完好。这就很奇怪了。
于是我查看了Qt 相应的模块lib与dll所在位置,发现Qt4的ActiveX模块是静态链接的。然后在其lib目录下找到了两个相关的文件:
- QAxServerd.lib
- QAxServerd.prl
使用记事本打开这个prl文件,就发现了问题了,这个文件文件中有如下内容:
QMAKE_PRL_LIBS = user32.lib ole32.lib oleaut32.lib gdi32.lib d:\src\osgeo4w64\src\qt-everywhere-opensource-src-4.8.5\lib\QtGuid4.lib d:\src\osgeo4w64\src\qt-everywhere-opensource-src-4.8.5\lib\QtCored4.lib
尝试把QtGuid4.lib与QtCored4.lib 的路径改为当前Qt真实的路径,再进行编译,就不会报错了。