编译Qt程序使用动态库时,报错
error: LNK1107: 文件无效或损坏: 无法在 0x310 处读取
原因
链接时,使用的dll,而不是lib。
lib是编译时需要的,dll是运行时需要的。
windows下动态库和静态库
动态库:生成动态库时,除了生成dll还有与之对应的lib,在这里lib不是静态库而是编译时动态链接库的导入库。因此编译时需要dll和lib;运行时需要dll
静态库:只有一个lib库,编译时需要,lib被编译到程序中,因此运行时,不再需要
error: LNK1107: 文件无效或损坏: 无法在 0x310 处读取
链接时,使用的dll,而不是lib。
lib是编译时需要的,dll是运行时需要的。
动态库:生成动态库时,除了生成dll还有与之对应的lib,在这里lib不是静态库而是编译时动态链接库的导入库。因此编译时需要dll和lib;运行时需要dll
静态库:只有一个lib库,编译时需要,lib被编译到程序中,因此运行时,不再需要