1

当我尝试在 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 如何不喜欢我的一些库......

4

0 回答 0