我对基于libmodbus
库的应用程序编译有问题:https://github.com/stephane/libmodbus
我尝试使用以下命令编译它:cc pkg-config --cflags --libs libmodbus modbus.c -o modbus
但我得到了以下错误:
/usr/bin/ld: /tmp/cckdtbWy.o: in function `main':
modbus.c:(.text+0x1b): undefined reference to `modbus_new_tcp_pi'
/usr/bin/ld: modbus.c:(.text+0x5c): undefined reference to `modbus_connect'
/usr/bin/ld: modbus.c:(.text+0x8d): undefined reference to `modbus_free'
/usr/bin/ld: modbus.c:(.text+0xa3): undefined reference to `modbus_connect'
/usr/bin/ld: modbus.c:(.text+0xde): undefined reference to `modbus_read_bits'
/usr/bin/ld: modbus.c:(.text+0x11e): undefined reference to `modbus_close'
/usr/bin/ld: modbus.c:(.text+0x12a): undefined reference to `modbus_free'
collect2: error: ld returned 1 exit status
我很感激你的帮助!
诚挚的问候!
发布于 2020-07-29 13:47:41
我已经解决了这个问题,我的解决办法是:
1.在/etc/ld.so.conf.d/
中创建modbus.conf
文件。
2. Run sudo ldconfig
.
3.使用以下命令编译应用程序/程序:
gcc <name>.c -o <name> -I/usr/local/include/modbus/ -lmodbus
这对我起了作用,但我不确定是否有必要迈出第一步。
发布于 2020-07-29 00:39:49
你安装了libmodbus-dev
吗?你应该试试这个:sudo apt-get install -y libmodbus-dev
。
见v3.1.6和v3.0.8:libmodbus文档
https://stackoverflow.com/questions/63142337
复制相似问题