【发布时间】:2011-07-31 14:26:56
【问题描述】:
我的问题如下:
我有下面的小程序(参见文件 conftest.c)。
(1) 如果我像这样编译 conftest.c(最后带有 -l):
gcc -o conftest conftest.c -lintl
它编译得很好。
(2) 但是如果我像这样编译conftest.c(最后带有-l):
gcc -o conftest -lintl conftest.c
编译失败并出现错误: C:\Users\devel\AppData\Local\Temp\cce00i8m.o:conftest.c:(.text+0x16): référence indéfinie vers « imp_libintl_gettext » collect2: ld 返回 1 个退出状态。
我在 windows 下使用 mingw 和 gcc 4.5.0。 gcc 安装在 /mingw/bin 中
似乎传递给 gcc 的 -l 选项的顺序很重要。这很烦人,因为我正在尝试安装 ActiveState perl 的 Bundle::Gnome2 并且它使用 (2) 构造。有没有人知道如何解决这个问题并使 (2) 起作用?
提前致谢,
conftest.c:
#include <libintl.h>
int main(int argc, char **argv)
{
char *x = gettext("foo");return 0;
}
【问题讨论】: