vs2022 编译libmodbus源码
Posted qq_735754647
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2022 编译libmodbus源码相关的知识,希望对你有一定的参考价值。
vs编译libmodbus-C++文档类资源-CSDN下载
项目需要用到了第三方库libmodbus,本文安装的是libmodbus3.1.7,结果如下。
方法一、vs2022编译,默认32位,64位版本需要进行一些设置,详见下文
1.libmodbus下载版本
https://github.com/stephane/libmodbus
2.src双击configure.js
出现
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,可以添加预定义
WIN32
_DEBUG
HAVE_CONFIG_H
DLLBUILD
_CRT_SECURE_NO_DEPRECATE=1
_CRT_NONSTDC_NO_DEPRECATE=1
_WINDOWS
ENABLE_THREADS
_CONST_CORRECT_OVERLOADS
NOMINMAX
FREEGLUT_STATIC
此时,成功生成.lib 和.dll
方法二、采用qt编译生成的,64位可用。注意在.pro文件添加 LIBS += -lWS2_32
方法三、模拟linux
一、搭建MSYS环境
1.下载安装msys(在windows上模拟linux)
网址:MSYS2
2.更新pacman -Syu(pacman类似apt-get)
3.配置
参考:在windows上安装配置msys2_hustlei的博客-CSDN博客_msys2安装
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.7.tar.gz
或GitHub - stephane/libmodbus at v3.1.7
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库生成。
以上是关于vs2022 编译libmodbus源码的主要内容,如果未能解决你的问题,请参考以下文章
SQLite3源码下载与编译(开发环境:Win10+VS2022)