首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在编译时使用特定的库?

如何在编译时使用特定的库?
EN

Stack Overflow用户
提问于 2014-03-20 11:36:46
回答 1查看 141关注 0票数 0

我在Ubuntu13.04 32平台上,我正在尝试从源代码编译"birdie"。我得到以下错误:

代码语言:javascript
运行
复制
/birdie/build/src/main.c:98:46: error: too few arguments to function 'g_option_context_add_main_entries'
In file included from /usr/local/include/glib-2.0/glib.h:66:0,
             from /home/***/Desktop/birdie/build/src/main.c:20:
/usr/local/include/glib-2.0/glib/goption.h:337:17: note: declared here

我从存储库安装了libglib2.0-dev 2.36.3,从源代码安装了glib-2.38.2。它们安装在不同的路径上,比如一个在/usr/lib上,另一个在/usr/local/lib

我的问题是,如何使用一个库来代替旧库在不同的路径中,并禁用它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-20 11:45:37

这可以使用编译期间传递给gcc的参数。

默认情况下,搜索所有default path目录,如果匹配,则使用这些libraries。若要重写此行为,还可以在directories之前指定要搜索的default path

代码语言:javascript
运行
复制
gcc <your-file.c> -o <object-file> -I<additional directory to be searched> -L<linking path>

在你的情况下,应该是

代码语言:javascript
运行
复制
CFLAGS=-I/usr/local/lib -L/usr/local/lib

然后将上面的CFLAGS传递给编译器。

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

https://stackoverflow.com/questions/22531755

复制
相关文章

相似问题

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