C 使用共享库进行交叉编译

C 使用共享库进行交叉编译,c,linux,arm,embedded-linux,C,Linux,Arm,Embedded Linux,我对嵌入式系统一无所知。我正在使用一个套件TS-7390,它使用ARM9。 我设法为它编译了一个应用程序。我的问题是如何使用共享库进行编译。我需要将库放在主机上?这取决于共享库的使用方式。如果应用程序与库一起编译,就好像共享库一直链接在一起一样,那么您需要在主机上使用它。如果通过dlopen动态加载共享库,则主机上不需要它。在这两种情况下,您也需要在目标上使用该库。这取决于如何使用共享库。如果应用程序与库一起编译,就好像共享库一直链接在一起一样,那么您需要在主机上使用它。如果通过dlopen动态

我对嵌入式系统一无所知。我正在使用一个套件TS-7390,它使用ARM9。
我设法为它编译了一个应用程序。我的问题是如何使用共享库进行编译。我需要将库放在主机上?

这取决于共享库的使用方式。如果应用程序与库一起编译,就好像共享库一直链接在一起一样,那么您需要在主机上使用它。如果通过
dlopen
动态加载共享库,则主机上不需要它。在这两种情况下,您也需要在目标上使用该库。

这取决于如何使用共享库。如果应用程序与库一起编译,就好像共享库一直链接在一起一样,那么您需要在主机上使用它。如果通过
dlopen
动态加载共享库,则主机上不需要它。在这两种情况下,您也需要在目标上使用该库。

您还需要在交叉编译应用程序之前交叉编译共享库。

您还需要在交叉编译应用程序之前交叉编译共享库。

简言之:是

让我解释一下原因。在设置交叉编译环境时,需要同时提供头文件和库,因为在链接编译器时,会检查所有符号是否已解析

可以想象,只要程序不使用libc,交叉编译器是不够的。在这种情况下,您还需要一个拥有所有必要文件(标题、库等)的地方。由于处理所有的依赖关系都很耗时,所以最好使用某种工具或发行版来为您完成这项工作

例如,我使用,这需要一点时间来学习,但在你必须处理库的时候,它可以帮助你很多

简言之:是的

让我解释一下原因。在设置交叉编译环境时,需要同时提供头文件和库,因为在链接编译器时,会检查所有符号是否已解析

可以想象,只要程序不使用libc,交叉编译器是不够的。在这种情况下,您还需要一个拥有所有必要文件(标题、库等)的地方。由于处理所有的依赖关系都很耗时,所以最好使用某种工具或发行版来为您完成这项工作

例如,我使用,这需要一点时间来学习,但在你必须处理库的时候,它可以帮助你很多