我认为是一个链接错误在Geany与nanopi M1
问题描述:
你好吗?我有一个很大的问题(或者至少我不知道如何解决这个问题)和Geany一起,在一个nanopi M1中使用Debian jessie。我认为是一个链接错误在Geany与nanopi M1
历史就像如下:
我试图运行与nanopi M1控制GPIO端口传来一些修改演示代码,所以,当我特林“生成”后程序编译,它显示了以下错误:
在main函数,它说:
/tmp/ccwWOISx.o in function 'main'
...... undefined reference to 'boardinit'
...... undefined reference to 'pintoGPIO'
...... undefined reference to 'openHW'
...... undefined reference to 'selectHW'
...... undefined reference to 'readHW'
...... undefined reference to 'closeHW'
......
......
and about two or tree more errors of the same type "undefined reference" all
related a functions of the hardware
我用gcc,命令进来geany预充和有:
编译:
gcc -Wall -c "%f"
体形:
gcc -Wall -o "%f" "%e"
所以我认为(如果我明白我在计算器其他职位readed)这是一个链接错误,但不知道怎么解决它。
在那之后,我已经修改了build命令,这一点:
gcc -Wall -c -o "%f" "%e"
本作不有错误,但生成的文件是现在式“目标代码”(这是错误的),因为我需要“可执行文件”文件(没有扩展名)和终端提供以下信息:
bash: ./Matrix-ir_receiver: cannot execute binary file: Exec format error
我没有对如何解决这个任何想法,请帮助!
答
正如我所说,这是一个链接器问题,我需要使用-lfahw和-lm选项来构建可执行文件。我认为第一个选项是ARM设备特有的选项。之后该程序运行完美。