Windows下vs源码安装64位libmodbus

项目需要用到了第三方库libmodbus,本文安装的是libmodbus3.1.6,结果如下。

方法一、vs2015编译,默认32位,64位版本需要进行一些设置,详见下文

1.libmodbus下载版本
2.src双击configure
3.vs打开modbus-9.sln编译生成modbus.lib和modbus.dll

将平台配置成release,x64,编译

此时,会遇到如下LNK2019链接错误

解决如下图:缺少依赖库,在additional dependences添加ws2_32.lib,重新编译

出现下图错误

解决:缺少main函数,并不是可执行工程,将configuration type改为.dll,再次编译

编译成功,但会有一些inconsistent dll linkage warning,可以添加预定义

此时,成功生成.lib 和.dll

方法二、采用qt编译生成的,64位可用。注意在.pro文件添加 LIBS += -lWS2_32

方法三、模拟linux

一、搭建MSYS环境

1.下载安装msys(在windows上模拟linux)
网址:https://www.msys2.org/

2.更新pacman -Syu(pacman类似apt-get)

3.配置
参考:https://blog.csdn.net/hustlei/article/details/86687588
3.1实现 cd +文件名进入目录:打开/etc/profile文件,添加一个关键变量:“export MSYS="winsymlinks:lnk”
3.2配置国内镜像,方便快捷下载资源:在/etc/pacman.d文件中对3个镜像文件mirrorlist文件进行修改。
3.3安装git和vim编辑器:有点像linux了, 安装命令:pacman -S git;
3.4安装配置zsh:在linux下,默认采用的是bash,但是现在大多数人都用zsh,方便快捷。安装zsh的命令:pacman -S zsh ;zsh主题采用oh-my-zsh,需要链接到相应的github网址,进行下载。
修改默认shell为zsh:在msys2_shell.cmd文件中,将LOGINSHELL的变量,改为zsh,则启动msys2后自动进入zsh
3.5选择oh-my-zsh中的主题,采用ys。采用vim编辑器在根目录下,打开zshrc文件,修改其中的ZSH_THEME的名字,完成修改。
3.6gcc的安装和环境配置:我安装的是mingw64 mingw-x86_64-gcc版本。安装命令:pacman -S mingw-w64-x86_64-gcc安装完成。

二、编译安装modbus

1.下载源码

网址:https://libmodbus.org/releases/libmodbus-3.1.6.tar.gz

https://github.com/stephane/libmodbus/tree/v3.1.6

2. 下载如下工具或组件:autoconf,automake,m4,libtool,perl,crypt。

其中autoconf,automake是主要使用工具;m4,libtool是必要工具;perl是支撑工具;crypt是支撑库。libtool和crypt以库的形式下载。

pacman -S autoconf

3.automake使用
    3.1运行autoscan命令,产生configure.scan文件;
    3.2将configure.scan 文件重命名为configure.in,并修改configure.in文件;
    3.3运行aclocal命令,产生aclocal.m4文件;
    3.4运行autoconf命令,产生configure文件;
    3.5新建Makefile.am文件,新建NEWS、 README、 ChangeLog 、AUTHORS文件;
    3.6修改Makefile.am,并运行automake -a命令;(automake --add-missing)
    3.7运行./confiugre脚本。
    3.8至此,Makefile已生产,然后执行make编译即可。

4.编译安装 

make
make install

至此,libmodbus库生成。

 

 

  • 14
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值