首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用libcurl构建项目在linux下不起作用

使用libcurl构建项目在linux下不起作用
EN

Stack Overflow用户
提问于 2015-04-09 07:50:13
回答 1查看 566关注 0票数 0

我试图在Eclipse的Linux下用C构建一个小项目。由于我包括libcurl库,我认为链接器总是抛出错误找不到-lcurl。我知道互联网上有几个帖子,但是没有什么真正的帮助。整个看上去都是这样的:

代码语言:javascript
运行
复制
Building target: c_template
Invoking: GCC C Linker
/usr/local/oecore-i686-arm/sysroots/i686-oesdk-linux/usr/bin/armv7a-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -L/usr/lib --sysroot=/usr/local/oecore-i686-arm/sysroots/armv7a-vfp-neon-oe-linux-gnueabi -o  "c_template"  ./src/atCommand.o ./src/charDevice.o ./src/curl.o ./src/debug.o ./src/linux_prototype.o ./src/output.o ./src/simStatus.o ./src/urc.o ./src/wwan.o   -lpthread -lcurl
                 from <command-line>:0:
/home/ubuntu/Documents/eCall/hwell_06/workspace_hwell_06/c_template/inc/defs.h:87:10: warning: type defaults to 'int' in declaration of 'BOOL' [-Wimplicit-int]
/home/ubuntu/Documents/eCall/hwell_06/workspace_hwell_06/c_template/inc/atCommand.h:56:12: warning: 'atCommandsHandler' defined but not used [-Wunused-variable]
/home/ubuntu/Documents/eCall/hwell_06/workspace_hwell_06/c_template/inc/debug.h:60:12: warning: 'deviceHandler' defined but not used [-Wunused-variable]
/usr/local/oecore-i686-arm/sysroots/i686-oesdk-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: warning: skipping incompatible /usr/lib/libpthread.so while searching for pthread
/usr/local/oecore-i686-arm/sysroots/i686-oesdk-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: warning: skipping incompatible /usr/lib/libcurl.so while searching for curl
/usr/local/oecore-i686-arm/sysroots/i686-oesdk-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot find -lcurl
/usr/local/oecore-i686-arm/sysroots/i686-oesdk-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: warning: skipping incompatible /usr/lib/libc.so while searching for c
../src/curl.c:66: error: undefined reference to 'curl_global_init'
../src/curl.c:69: error: undefined reference to 'curl_easy_init'
../src/curl.c:72: error: undefined reference to 'curl_slist_append'
../src/curl.c:73: error: undefined reference to 'curl_slist_append'
../src/curl.c:76: error: undefined reference to 'curl_easy_setopt'
../src/curl.c:79: error: undefined reference to 'curl_easy_setopt'
../src/curl.c:82: error: undefined reference to 'curl_easy_setopt'
../src/curl.c:85: error: undefined reference to 'curl_easy_setopt'
../src/curl.c:98: error: undefined reference to 'curl_easy_perform'
../src/curl.c:101: error: undefined reference to 'curl_easy_strerror'
../src/curl.c:105: error: undefined reference to 'curl_slist_free_all'
../src/curl.c:108: error: undefined reference to 'curl_easy_cleanup'
../src/curl.c:112: error: undefined reference to 'curl_global_cleanup'
collect2: ld returned 1 exit status
make: *** [c_template] Error 1

我已经为链接器的库:库搜索路径(-l):/usr/lib和库(-L):curl设置了路径

我的命令行模式如下所示:

${OUTPUT_FLAG} ${OUTPUT_PREFIX} ${OUTPUT_PREFIX} ${OUTPUT} ${INPUTS}

有人能帮我吗。那就太好了。

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 08:19:21

您正在交叉编译ARM的c_template,因此您需要在交叉编译环境中安装libcurl for ARM。现在,它为您的libcurl主机找到了i686,并且它不能使用它,如下所示:

代码语言:javascript
运行
复制
/usr/local/oecore-i686-arm/sysroots/i686-oesdk-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: warning: skipping incompatible /usr/lib/libcurl.so while searching for curl

因此,首先在编译环境中为目标平台编译/安装libcurl,并确保编译器能够找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29532798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档