在GTK 中找不到-llintl

Cannot find -llintl in GTK+

本文关键字:-llintl 找不到 GTK      更新时间:2023-10-16

iv'e尝试在代码中添加GTK :块。但是,当我尝试运行并编译代码(来自代码的IV'e代码:块(时,我得到了一个错误cannot find -lintl | error: ld returned 1 exit status

如何找到-lintl?如何将其添加到我的项目中?

编辑:这是我有的构建日志:

Checking for existence: C:UsersmagshimimDocumentsTestmain.exe
-------------- Build file: "no target" in "no project" (compiler: unknown)---------------
mingw32-gcc.exe -mms-bitfields -IC:/gtk/include/gtk-3.0 -IC:/gtk/include/cairo -IC:/gtk/include/pango-1.0 -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pixman-1 -IC:/gtk/include -IC:/gtk/include/freetype2 -IC:/gtk/include -IC:/gtk/include/libpng15 -IC:/gtk/include/gdk-pixbuf-2.0 -IC:/gtk/include/libpng15 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include  -c C:UsersmagshimimDocumentsTestmain.c -o C:UsersmagshimimDocumentsTestmain.o
C:UsersmagshimimDocumentsTestmain.c: In function 'main':
C:UsersmagshimimDocumentsTestmain.c:34:3: warning: 'gtk_vbox_new' is deprecated: Use 'gtk_box_new' instead [-Wdeprecated-declarations]
   vbox = gtk_vbox_new (TRUE, 6);
   ^
In file included from C:/gtk/include/gtk-3.0/gtk/gtk.h:245:0,
                 from C:UsersmagshimimDocumentsTestmain.c:2:
C:/gtk/include/gtk-3.0/gtk/deprecated/gtkvbox.h:60:13: note: declared here
 GtkWidget * gtk_vbox_new      (gboolean homogeneous,
             ^
mingw32-g++.exe  -o C:UsersmagshimimDocumentsTestmain.exe C:UsersmagshimimDocumentsTestmain.o  -LC:/gtk/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lpangocairo-1.0 -lpangoft2-1.0 -lfreetype -lfontconfig -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lm -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl   
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lintl
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
2 error(s), 1 warning(s) (0 minute(s), 0 second(s))

我不确定如何在Windows中实现,但是在Linux中,没有这样的库(至少不是字面上的libintl.so(。不过有一个libintl.h,所以我怀疑没有libintl的实际代码 - 只是定义(宏(。

所以我建议您尝试在命令行中没有-lintl的情况下进行编译。

如果库中存在 libintl(.dll?(,则可以检查磁盘,但我怀疑它。

我并不完全了解Libintl背后的内容,但是我看到安装getText(https://www.gnu.org/software/gettext/(时已经安装了它。文件中提到了文件libintl.so(https://www.gnu.org/software/gettext/manual/gettext.html(。