我在linux中使用Qt 5.5创建了一个静态库mylib,并在我的qt应用程序中链接到它并且一切正常
mylib创建.pro文件的一部分
TARGET = mylib
TEMPLATE = lib
CONFIG += staticlib
现在,在win7中使用qt5.5运行相同的mingw32似乎编译并链接mylib没有错误,但崩溃了myapp,因为它正在寻找mylib.dll ... 为什么链接进程没有将静态mylib.a链接到它
myapp链接文件的一部分
linux {
INCLUDEPATH += ../build-mylib-Desktop-Debug
LIBS += -L../build-mylib-Desktop-Debug -lmylib
}
win32 {
INCLUDEPATH += ../build-mylib-Desktop_Qt_5_5_0_MinGW_32bit-Debug/debug
LIBS += -L../build-mylib-Desktop_Qt_5_5_0_MinGW_32bit-Debug/debug -lmylib
}
我不明白为什么相同的专业文件在Linux中工作,但在win7中使用mingw32,似乎没有发生与mylib.a链接的应用程序,甚至没有错误,并且mylib.a存在。
答案 0 :(得分:0)
删除调试/发布构建目录,并作为安全措施同时删除xxx.pro.user文件以强制进行新项目设置使其正常工作
也许没有必要删除xxx.pro.user文件
我在使用mingw32-libusb-1.0二进制文件和hidapi源的usb-hid应用程序中运行mylib.a时遇到了第二个问题
mylib包含我自己的二进制类型pkg类型协议代码
我有hidapi代码的来源
我能够将hidapi源与mylib代码捆绑在一起并将其编译成mylib.a
应用程序现在必须与mylib.a和mingw32-usblib-1.0的二进制文件链接才能正常工作
尝试在mylib.a创建过程中将mingw32-usblib-1.0与hidapi源代码和mylib代码捆绑在一起,之后将应用程序与包含所有库的链接联系起来mylib.a在linux中工作,但在win7中失败
创建库:hidapi源+ mylib代码 - > mylib.a上 创建app:app code + mylib.a + mingw32-usblib-1.0 ...在linux和win7上工作
创建库:hidapi source + mylib code + mingw32-usblib-1.0 - > mylib.a上 创建app:app code + mylib.a ...在linux上工作,在win7上失败