.lib弄乱了Qt编译

时间:2013-03-26 15:22:48

标签: c++ qt dll makefile static-libraries

问题解决了,但我想知道为什么会出现问题。

使用Qt Creator并链接外部库。在我的.pro中使用

LIBS += -LC:/Flicker/empty/ -lLabview_DLL

一切都很顺利,程序也运转了。

使用

LIBS += -LC:/DATA/Vincent/SemiRead/ -lLabview_DLL

编译工作没有错误,但在程序中调用其中一个库函数会导致崩溃。

由于Labview_DLL.dll在两个文件夹中是相同的,我想知道可能是什么问题。我发现在最后一种情况下,有一个具有相同名称的addidtional .lib文件。删除这个后,一切都与该文件夹一起使用。 它只是对当前.lib文件的偏好吗?操作系统是Win7-64

1 个答案:

答案 0 :(得分:0)

链接到dll是基于dll的位置,在编译时不是必需的。以下链接可能有所帮助。

Static linking vs dynamic linking

http://msdn.microsoft.com/en-us/library/9yd93633.aspx

http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries

因此,“LIBS + =”调用尝试执行到库的静态链接。

希望有所帮助。