为啥我用了这个命令arm-linux-gnueabihf-gcc -Wl,--dynamic-linker=/lib/ld-linux.so.3 -o output input.c,还是需要 ld-linux-armhf.so.3
时间: 2023-08-02 22:06:33 浏览: 129
ld-linux-armhf.so.3
在使用 `arm-linux-gnueabihf-gcc` 编译程序时,你指定了动态链接器的路径为 `/lib/ld-linux.so.3`,但是程序仍然需要 ld-linux-armhf.so.3 文件,这可能是由于编译器使用了不同的版本或者配置导致的。
你可以尝试使用 `-R` 选项指定程序运行时搜索共享库的路径,例如:
```
arm-linux-gnueabihf-gcc -o output input.c -Wl,-R,/path/to/shared/library/directory
```
其中,`/path/to/shared/library/directory` 是包含所需共享库文件的目录。这样,在运行程序时,动态链接器会首先搜索该目录下的共享库文件。
如果你仍然需要使用 ld-linux-armhf.so.3 文件,可以尝试将其复制到 `/lib` 目录下,然后更新共享库缓存:
```
sudo cp /path/to/ld-linux-armhf.so.3 /lib
sudo ldconfig
```
其中,`/path/to/ld-linux-armhf.so.3` 是共享库文件的路径。这样,在运行程序时,动态链接器会自动搜索 `/lib` 目录下的共享库文件。
阅读全文