我想用 C 开发一个可执行文件并共享这个可执行文件,它可以在其他目标系统上运行。开发系统为Linux 64Bit,目标系统为Linux ARM系统。我开发它是因为懒惰使用共享库,但如果我共享它,肯定它不会工作,因为缺少共享对象。我试图通过从源代码构建库来从共享库更改为静态库,因为它不提供静态库,但是当我尝试构建项目时,它给出了 undefined reference 错误。这应该与缺少的头文件有关。但是,如果我在构建过程中包含头文件,则在分发它们时会出现同样的问题。
是否有可能使用库但构建一个独立的可执行文件,我不必安装或复制其他东西,但可执行文件到目标系统?
交叉编译工作正常,只是库出了问题。
最佳答案
如果您使用库中的函数,您可以选择使用动态库(并要求安装它,或自行安装)
或使用将与您的程序结合的静态库(如果您可以构建静态库)
尝试使用静态库构建的最常见问题是,您可能还需要静态链接到该库也依赖的任何其他库。
关于C链接库独立构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41266459/