我在 Ubuntu 13.04 32 平台上,我正在尝试从源代码编译 “birdie”。 我收到以下错误:
/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
的参数。
默认情况下,搜索所有默认路径
目录,如果有匹配项,则使用那些库
。要覆盖该行为,您可以在 默认路径
之前另外指定要搜索的 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
传递给编译器。
关于linux - 编译时如何使用特定的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531755/