【发布时间】:2018-01-11 05:48:29
【问题描述】:
当我尝试编译我的脚本时,我得到了错误:
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: cannot find -lecc
collect2:错误:ld 返回 1 个退出状态 make: *** [Makefile:9: sample] 错误 1
####################################
HEADERS = eccapi.h
default: sample
sample.o: sample.c $(HEADERS)
gcc -c sample.c -o sample.o
sample: sample.o
gcc sample.o -o sample -I./ -lecc
clean:
-rm -f sample.o
-rm -f sample
#
/*After Add libecc.a file in the lib folder of my compiler, I'm getting some other error, below are the error */
$ make
gcc -c sample.c -o sample.o
sample.c: In function ‘crypto_main’:
sample.c:173:13: warning: implicit declaration of function ‘emberSerialGuaranteedPrintf’ [-Wimplicit-function-declaration]
emberSerialGuaranteedPrintf(APP_SERIAL, "ZSE_ECCGenerateKey ERROR 0x%x\n",rc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc sample.o -o sample -I./ -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../libecc.a whe n searching for -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../libecc.a whe n searching for -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: skipping incompatible /usr/lib/libecc.a when searching for -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: skipping incompatible /usr/lib/libecc.a when searching for -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../libecc.a whe n searching for -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: skipping incompatible /usr/lib/libecc.a when searching for -lecc
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../../i686-pc-cygwin/bin/ld: cannot find -lecc
collect2: error: ld returned 1 exit status
make: *** [Makefile:9: sample] Error 1
【问题讨论】:
-
显示你的 exact 编译命令。那是什么
-lecc?您要链接哪个库?那个文件在哪里? -
不要评论您自己的问题,而是编辑您的问题以改进它。显示一些minimal reproducible example。考虑在您的问题中以格式化文本的形式显示您的
Makefile -
您是否将 libecc.a 复制到 /usr/lib?使用 objdump 或类似命令查看这是否适合您的 CPU,可能是 32 位 64 位问题。
标签: c static-linking