Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gcc在Windows上交叉编译ARM的helloworld_Windows_Gcc_Arm - Fatal编程技术网

gcc在Windows上交叉编译ARM的helloworld

gcc在Windows上交叉编译ARM的helloworld,windows,gcc,arm,Windows,Gcc,Arm,我正在使用Xilinx Zedboard。我交叉编译了一个需要math.h库的c项目。当我在Zedboard上运行它时,我得到一个/my_binary:notfound错误。我能够使用-static标志进行交叉编译,并正确执行二进制文件。然而,这是非常无用的,因为它会生成巨大的二进制文件 有许多非常类似的问题。即和。然而,它们都是在Linux机器上交叉编译的。Windows上Linaro编译器单独使用的文件系统明显不同,因此第二个问题的答案并不完全合适。我也不想静态交叉编译,因为二进制文件太大了

我正在使用Xilinx Zedboard。我交叉编译了一个需要math.h库的c项目。当我在Zedboard上运行它时,我得到一个
/my_binary:notfound
错误。我能够使用
-static
标志进行交叉编译,并正确执行二进制文件。然而,这是非常无用的,因为它会生成巨大的二进制文件

有许多非常类似的问题。即和。然而,它们都是在Linux机器上交叉编译的。Windows上Linaro编译器单独使用的文件系统明显不同,因此第二个问题的答案并不完全合适。我也不想静态交叉编译,因为二进制文件太大了

如果有人在Windows上解决了这个问题。我真的需要一些帮助。如果这是一个符号链接问题,正如我链接到的第二个问题所建议的那样,我可以利用一些帮助来找出缺少的链接。正如我所说,Linaro编译器的文件结构与那篇文章中提到的Linux非常不同。因此,链接不仅仅是剪切和粘贴解决方案。此外,我在
lib/
目录中搜索,也没有找到该帖子中提到的.so文件名。(尽管我猜这与我运行的是Windows而不是Linux有关。)

如果有任何建议,我将不胜感激。

首先尝试:

readelf -d my_binary

您可以找到所有依赖项。将所有依赖项复制到您的arm机器。

ldd在windows或windows机器上的arm machinetry readelf上都不可用。例如
$readelf-dt
Ok,一个依赖项是
libm.so.6
。我如何“复制”到我的手臂机器?如何获取该文件以及将其放置在arm机器的何处(按目录)?在主机上搜索此文件,复制到arm机器。把它放在与可执行文件相同的目录下,好吧,例如,如果它在路径中,那就可以了?