我想在我的可执行文件Linux中对通向库的路径进行硬编码。在OS上,这是通过在构建库时在-o参数之后提供完整路径来实现的。例如,我在OS上构建了这样一个库:
cc foo.c --shared -o /home/sander/libfoo.so
当我构建一个名为“bar”的可执行文件,它与这个库链接,并且在可执行文件上使用otool -L时,我得到以下输出:
bar:
/home/sander/libfoo.so (compatibility version 0.0.0, current version 0.0.0)
我现在可以在任何地方运行这个可执行文件,而且它总是能够找到库。
我正
我正在Raspberry Pi 2 Model B上做一个项目。我开始直接在Pi上编码和编译,现在我想在Windows7 PC上工作。我已经安装了SysGCC交叉编译器,并设法编译了一个简单的Hello-World程序。问题是,对于我的项目,我使用curl和jsoncpp。在原生的Raspberry上,我编译它没有问题,但Windows上的交叉编译器给我以下错误:
c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -lc
我想在Mac上安装第三方C库()。但是,二进制文件似乎不会安装在Mac (10.9.5)上。该库用于Unix/Linux平台。
下面是我在尝试安装make文件时遇到的几个错误示例。首先,下面是在开箱即用的情况下运行make all时的错误(出于某种原因,运行make all64什么也不做):
ld: library not found for -lgmp
我在中通过MacPorts安装了GMP库。然而,似乎找不到图书馆:
cc 2nash-GMP.o -L. -llrsgmp -L/opt/local/include -lgmp -o 2nash
ld: library not found