You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pylon C SDK编译C代码遇undefined reference错误求解决

解决Pylon C SDK编译链接undefined reference错误

你的问题属于链接阶段缺失Pylon库依赖,头文件路径已经通过-I/opt/pylon/include解决,但链接器ld找不到Pylon函数的实现库,按以下步骤修复:

1. 定位Pylon库文件位置

Pylon SDK的库文件通常位于/opt/pylon/lib或/opt/pylon/lib64目录,用以下命令确认:

find /opt/pylon -name "libPylonC*.so"

2. 修改编译命令,添加库路径与链接参数

在编译命令中加入:

  • -L<库目录>:指定Pylon库的路径
  • -lPylonC:链接Pylon C核心库(对应libPylonC.so,规则是去掉lib前缀和.so后缀)

同时注意:-o参数后应该是可执行文件名称(而非.o目标文件),如果要生成目标文件需加-c参数。修改后的完整命令示例:

gcc -I/opt/pylon/include -L/opt/pylon/lib -Wall -pthread -o initialization initialization.c -lpigpio -lrt -lPylonC

如果GenApi相关函数仍报错,可尝试添加-lGenApi(对应libGenApi.so):

gcc -I/opt/pylon/include -L/opt/pylon/lib -Wall -pthread -o initialization initialization.c -lpigpio -lrt -lPylonC -lGenApi

3. 解决运行时库加载问题

如果编译通过但运行时提示找不到库,需设置库路径环境变量:

export LD_LIBRARY_PATH=/opt/pylon/lib:$LD_LIBRARY_PATH

或者永久生效:

  • 创建文件/etc/ld.so.conf.d/pylon.conf,写入/opt/pylon/lib
  • 执行ldconfig更新系统库缓存

内容的提问来源于stack exchange,提问作者Brassard1984

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:05:51