这个编译链接问题怎么解决(OKMX6UL-C(eMMC、Nand版)_Qt5.6+Linux4.1.15)
OKMX6UL-C(eMMC、Nand版)_Qt5.6+Linux4.1.15的ubuntu环境程序编译没问题,在最后链接的时候出现以下问题:
ld||cannot find crt1.o: No such file or directory|
ld||cannot find crti.o: No such file or directory|
ld||cannot find crtbegin.o: No such file or directory|
ld||cannot find -lstdc++|
ld||cannot find -lm|
ld||cannot find -lgcc_s|
ld||cannot find -lgcc|
ld||cannot find -lc|
ld||cannot find -lgcc_s|
ld||cannot find -lgcc|
ld||cannot find crtend.o: No such file or directory|
ld||cannot find crtn.o: No such file or directory|
||error: ld returned 1 exit status|
||=== Build failed: 13 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
这个程序在以前的OKMX6Q-C、OKMX6DL-C 的(QT 4.8.5)Linux3.0.35上是没问题的,移植到
Qt5.6+Linux4.1.15环境后仅做了一些错误修改。
你好参考图中添加参数
希望能帮到您
飞凌-chongzi 发表于 2019-4-10 10:26
你好参考图中添加参数
希望能帮到您
你好,多谢回复。
不过这个我增加过了,不过因为$SDKTARGETSYSROOT似乎不起作用(没定义?)我改成以下做法:
--sysroot=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/ -mfloat-abi=hard
在增加这个参数之前,编译报的错误是stdlib.h之类的头文件找不到,后来我在论坛内搜索到要添加参数
--sysroot=$SDKTARGETSYSROOT -mfloat-abi=hard;
但我加了以后没效果,后来发现$SDKTARGETSYSROOT似乎没定义,我就改成了
--sysroot=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/ -mfloat-abi=hard
现在编译能编译了,只是在链接的时候出来了上面的错误信息。 飞凌-chongzi 发表于 2019-4-10 10:26
你好参考图中添加参数
希望能帮到您
你好,我怀疑是$SDKTARGETSYSROOT定义的原因,您那里的$SDKTARGETSYSROOT在哪里定义呢?怎么定义的?
因为下载的Ubuntu环境中的编译器用的是4.1.15-2.1.0目录的,而我定义的sysroot指向4.1.15-2.0.0目录,所以编译后链接有问题,但是4.1.15-2.1.0相应目录中又没有C/C++的那些头文件,这是个矛盾 automake 发表于 2019-4-10 14:50
你好,我怀疑是$SDKTARGETSYSROOT定义的原因,您那里的$SDKTARGETSYSROOT在哪里定义呢?怎么定义的?
...
你参考用户手册 设置环境变量章节 试一下 飞凌-chongzi 发表于 2019-4-10 17:24
你参考用户手册 设置环境变量章节 试一下
用户说明里只是说执行:
. /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
我执行过了,但是--sysroot=$SDKTARGETSYSROOT -mfloat-abi=hard参数还是没用,看环境变量里也没有$SDKTARGETSYSROOT的定义,你能看一下你那里$SDKTARGETSYSROOT是怎么定义的吗? 飞凌-chongzi 发表于 2019-4-10 17:24
你参考用户手册 设置环境变量章节 试一下
你好,怎么让gcc编译不用加参数--sysroot=$SDKTARGETSYSROOT -mfloat-abi=hard
以前用(QT 4.8.5)Linux3.0.35版本的开发环境的时候,那个arm的gcc就不用加参数直接编译 automake 发表于 2019-4-11 15:17
你好,怎么让gcc编译不用加参数--sysroot=$SDKTARGETSYSROOT -mfloat-abi=hard
以前用(QT 4.8.5)Linux3. ...
你好 试一下用 $gcc 编译不用加参数 飞凌-chongzi 发表于 2019-4-12 09:20
你好 试一下用 $gcc 编译不用加参数
你好,gcc没问题 automake 发表于 2019-4-12 10:59
你好,gcc没问题
请问你的问题解决了吗,我也遇到了同样的问题 zhanqing1001 发表于 2019-4-20 12:53
请问你的问题解决了吗,我也遇到了同样的问题
你是用命令行编译还是用codeblocks之类的集成环境编译? 飞凌-chongzi 发表于 2019-4-10 10:26
你好参考图中添加参数
希望能帮到您
我的环境是OKMX6DL-S3型开发板,主芯片是iMX6DL,工业级。
使用arm-poky-linux-gnueabi-gcc编译了一个程序
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("1st app run on iMX6\n");
return 0;
}
按照论坛里面的要求,增加了编译参数为--sysroot=$SDKTARGETROOT -mfloat-abi=hard,后编译通过,通过FTP放到了板子上,运行结果为
segmantation fault. DXKJ_001 发表于 2019-5-5 21:35
我的环境是OKMX6DL-S3型开发板,主芯片是iMX6DL,工业级。
使用arm-poky-linux-gnueabi-gcc编译了一个 ...
你这个和我的问题不一样,我那个是编译不成功。
段错误一般是指针问题,但你这个程序就不知道怎么回事了。 我怀疑官方给的开发环境有问题,每次虚拟机重启都需要配置一遍环境变量,编译也总是报找不到头文件的错
页:
[1]