当我尝试在 LDFLAGS 中设置一些库时,我遇到了 Eclipse 的问题。我有以下配置:
- 蚀
- 带有自动工具的 Yocto 项目
- ublibceabi 交叉编译器
- 用 C 编程
当我构建一个简单的 Hello World 程序时,我可以从输出控制台看到以下命令:
arm-poky-linux-uclibceabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -DHAVE_CONFIG_H -I. -I.. --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -g -O0 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -MT hello-hello.o -MD -MP -MF .deps/hello-hello.Tpo -c -o hello-hello.o `test -f 'hello.c' || echo './'`hello.c
mv -f .deps/hello-hello.Tpo .deps/hello-hello.Po
../arm-poky-linux-uclibceabi-libtool --tag=CC --mode=link arm-poky-linux-uclibceabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -g -O0 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -o hello hello-hello.o
arm-poky-linux-uclibceabi-libtool: link: arm-poky-linux-uclibceabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -g -O0 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi -o hello hello-hello.o
现在,如果我必须使用一些库,例如 libjpeg,我知道我必须编辑 LDFLAGS 环境变量。因此,在 Project > Properties > Autotools > configure 中,我编辑了 LDFLAGS 添加
-L/path/to/lib -ljpeg
现在在构建项目时,我面临这个问题:
checking for style of include used by make... GNU
checking for arm-poky-linux-uclibceabi-gcc... arm-poky-linux-uclibceabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/tiny-linux-uclibc/1.5.1/sysroots/cortexa9hf-vfp-neon-poky-linux-uclibceabi
checking whether the C compiler works... no
configure: error: in `/home/user/workspace/hello':
configure: error: in `/home/user/workspace/hello':
configure: error: C compiler cannot create executables
configure: error: C compiler cannot create executables
See `config.log' for more details
如果我尝试使用另一个标准库,例如-lm
,它可以正常工作。所以,我无法弄清楚 Eclipse 如何不喜欢我的一些库......