繁体   English   中英

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

[英]How can I use a particular library while compiling?

我在Ubuntu 13.04 32平台上,正在尝试从源代码编译“小鸟” 我收到以下错误:

/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

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

使用gcc期间传递给gcc的参数,这是可能的。

默认情况下,将搜索所有default path目录,如果匹配,则使用那些libraries 要覆盖此行为,您可以另外在default path之前指定要搜索的directories

gcc <your-file.c> -o <object-file> -I<additional directory to be searched> -L<linking path>

就您而言,应该是

CFLAGS=-I/usr/local/lib -L/usr/local/lib

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM