一、问题描述:
使用跨平台编译时,VS2019总是提示链接openssl库有问题;
二、错误时的配置:
1、前提
openssl在Linux系统默认下是1.0.0版本,而自己准备好的是1.1.1版本,并且路径完全不在一个地方;
2、配置步骤
第一步
在VS2019工程属性中的 配置属性 -> VC++目录 -> 包含目录 中配置自己的openssl头文件目录;
第二步
在VS2019工程属性中的 配置属性 -> VC++目录 -> 库目录 下配置自己的openssl库路径;
第三部
在VS2019工程属性中的 配置属性 -> 链接器 -> 输入 -> 库依赖项 中配置自己的openssl库名字;
三、错误现象
虽然配置了自己的openssl库,但是在编译连接的时候,总是提示openssl中的一些接口找不到,因为openssl1.1.1版本与Linux系统默认的还是有一些差距,自己编写的代码中使用的是1.1.1版本中的接口,但是链接的时候,总是优先链接Linux系统中默认的openssl库,也就是自己的openssl库没用上;
四、解决办法
上面的配置中,第一步不变,第二步修改如下:
第二步
在VS2019工程属性中的 配置属性 -> 链接器 -> 命令行 -> 其他选项 中编写自己的openssl库的路径,使用-L参数指定自己的openssl库的路径;
五、总结
如果自己的第三方库和系统库冲突,就用这个方法来提高自己的第三方库的链接优先级,如果没有冲突,就直接在 配置属性 -> VC++目录 -> 库目录 中添加第三方库即可。