VS2015编译zlib库,编译后生成的x86和x64库文件 编译过程:https://blog.csdn.net/chenjk10/article/details/101017777
VS2015工程文件:
zlib-VS\zlib-1.2.11\contrib\vstudio\vc14\zlibvc.sln 工程生成库名修改为动态库zlib.dll、zlib.lib,静态库zlibstatic.lib
生成文件路径:
x64动态库:
zlib-VS\zlib-1.2.11\contrib\vstudio\vc14\x86\ZlibDll(Debug|Release|ReleaseWithoutAsm)
x64静态库:
zlib-VS\zlib-1.2.11\contrib\vstudio\vc14\x86\ZlibStat(Debug|Release|ReleaseWithoutAsm)
x86动态库:
zlib-VS\zlib-1.2.11\contrib\vstudio\vc14\x64\ZlibDll(Debug|Release|ReleaseWithoutAsm)
x86静态库:
zlib-VS\zlib-1.2.11\contrib\vstudio\vc14\x64\ZlibStat(Debug|Release|ReleaseWithoutAsm)
zlib-VS\zlib-1.2.11org\contrib\vstudio\vc14\zlibvc.sln 工程生成库名为默认:动态库zlibwapi.dll、zlibwapi.lib,静态库zlibstat.lib
生成文件路径:
x64动态库:
zlib-VS\zlib-1.2.11org\contrib\vstudio\vc14\x86\ZlibDll(Debug|Release|ReleaseWithoutAsm)
x64静态库:
zlib-VS\zlib-1.2.11org\contrib\vstudio\vc14\x86\ZlibStat(Debug|Release|ReleaseWithoutAsm)
x86动态库:
zlib-VS\zlib-1.2.11org\contrib\vstudio\vc14\x64\ZlibDll(Debug|Release|ReleaseWithoutAsm)
x86静态库:
zlib-VS\zlib-1.2.11org\contrib\vstudio\vc14\x64\ZlibStat(Debug|Release|ReleaseWithoutAsm)
默认库名工程生成的文件复制了一份到目录:zlib-VS\zlib\zlib-1.2.11中,包含头文件、32位动态库静态库、64位动态库静态库,方便使用
问题1:
error LNK2019: 无法解析的外部符号 _deflate
error LNK2001: 无法解析的外部符号 _deflateEnd
error LNK2019: 无法解析的外部符号 deflateInit
error LNK2001: 无法解析的外部符号 _inflateEnd
error LNK2001: 无法解析的外部符号 inflateInit2
error LNK2019: 无法解析的外部符号 _inflate
error LNK2019: 无法解析的外部符号 _inflateReset
解决方法:
在使用zlib库的项目的属性-> C/C++-> 预处理器-> 预处理器定义 添加 ZLIB_WINAPI
问题2:
error LNK2026: 模块对于 SAFESEH 映像是不安全的。
解决方法:
在“项目属性->链接器->命令行->其他选项(D)”中添加/SAFESEH:NO
或者 在“项目属性->链接器->高级->映像具有安全异常处理程序”将“是(/SAFESEH)”修改为“否(/SAFESEH:NO)”
使用zlib库自带的VS工程有如上两个问题,使用cmake生成的VS工程编译的库没有上面两个问题
cmake工程使用绝对路径,工程路径:
x86
D:\GitProject\zlib-VS\zlib-1.2.11org\VS2015x86\zlib.sln
x86库文件
debug:zlibd.dll zlibd.lib zlibstaticd.lib
D:\GitProject\zlib-VS\zlib-1.2.11org\VS2015x86\Debug
release: zlib.dll zlib.lib zlibstatic.lib
D:\GitProject\zlib-VS\zlib-1.2.11org\VS2015x86\Release
x64
D:\GitProject\zlib-VS\zlib-1.2.11org\VS2015x64\zlib.sln
x64库文件
debug:zlibd.dll zlibd.lib zlibstaticd.lib
D:\GitProject\zlib-VS\zlib-1.2.11org\VS2015x64\Debug
release: zlib.dll zlib.lib zlibstatic.lib
D:\GitProject\zlib-VS\zlib-1.2.11org\VS2015x64\Release
文件夹zlib-VS\zlib\zlib-1.2.11cmake是cmake生成工程编译的库,使用更方便,包含头文件、32位动态库静态库、64位动态库静态库,方便使用
zlib-1.2.12
zlib-1.2.12.zip为源码
zlib-1.2.12-bin 为生成的lib|dll|头文件,使用Desktop Qt 5.15.0 MSVC2019 32bit编译
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )