我是linux和openwrt的初学者。对不起,如果这是一个愚蠢的问题。
我正在关注本教程:https://downloads.openwrt.org/docs/eclipse.pdf
mipsel-openwrt-linux-
/ligo/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14
代码:
#include <stdio.h>
void main()
{
printf("Hello World");
}
错误:
**** Build of configuration Debug for project hello ****
make all
Building target: hello
Invoking: Cross GCC Linker
mipsel-openwrt-linux-gcc -L/ligo/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/lib -o"hello" ./main.o
mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
/ligo/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/lib/gcc/mipsel-openwrt-linux-musl/5.3.0/../../../../mipsel-openwrt-linux-musl/lib/crt1.o: In function `_start_c':
/ligo/openwrt/build_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/musl-1.1.14/crt/crt1.c:17: undefined reference to `main'
/ligo/openwrt/build_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/musl-1.1.14/crt/crt1.c:17: undefined reference to `main'
collect2: error: ld returned 1 exit status
make: *** [hello] Error 1
答案 0 :(得分:1)
在bashrc
的末尾添加以下2行 export PATH=$PATH:~/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR=~/openwrt/staging_dir
source ~/.bashrc
要打开/创建bashrc,您可以执行
sudo gedit ~/.bashrc
答案 1 :(得分:0)
当我不得不经常发现这个问题时,我觉得很愚蠢。
当我忘记保存包含main()的文件时,我收到上述错误,因为文件为空,直到您保存它为止会出现此错误。
这些说明告诉您如何在开始构建时自动保存所有已修改的文件Save before build保留此设置,您又不会再看到此内容。
如果您没有在eclipse中设置工具链的路径,它甚至从未找到编译器,汇编器或链接器,因此它不会产生给定的错误。在这种情况下,关于STAGING_DIR的警告是无害的。