解决rust 在使用diesel r2d2 编写postgresql数据库连接池时编译不通过报错: /usr/bin/ld: cannot find -lpq
windows rust actix-web项目: 在使用 diesel r2d2 写postgresql 数据库连接池时,一直编译不通过,报如下错误(部分截图)
光从上面报错信息看不出所以然来,此时我以为是windows rust工具链的问题,于是把项目放到liunx一编译报错误信中有如下一条信息: note: /usr/bin/ld: cannot find -lpq
经百度查找发现是缺少libpq这个库,附图:https://zhidao.baidu.com/question/267382784.html
然后查找postgresSql官网https://www.postgresql.org/download/linux/redhat/发现postgresSQL由以下 5部分组成
其中postgresql-devel就是libpq库,使用命令:yum install postgresql-devel
重新编译通过!!!!
接下来来解决windows上编译不通过问题:
1.先解决编译问题:如果已经安装好postgresql在 D:\soft\PostgreSQL\9.5\lib 下找到pqlib.lib pqlib.dll,将pqlib.lib放到msvc tool中即: D:\soft\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\lib\x64下,将pqlib.dll放到C:\Windows\System32(win10系统,其他系统可百度),重新编译发现,编译通过但是程序运行不起来附图:
2.解决运行问题,找到my_blog.exe双击,会提示缺少libintl-8.dll,从网上下载同样放到C:\Windows\System32下,此时再运行,正常 !!!!