博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gtk+-3.21.4 static build step in windows XP
阅读量:6282 次
发布时间:2019-06-22

本文共 22951 字,大约阅读时间需要 76 分钟。

In recent days the weather is very hot Unable to sleep properly Under the state of daze research gtk3 static compiler.-------------------------------------------------------------------------------------------------------build static libs-------------------------------------------------------------------------------------------------------export LIBFFI_CFLAGS=" -I/usr/local/lib/libffi-3.2.1/include " \export LIBFFI_LIBS=" -lffi " \export ZLIB_CFLAGS=-I/usr/local/include \export ZLIB_LIBS=-lz \export CFLAGS=" -I/usr/local/include -O2 -Wall -march=i686 -mms-bitfields -mthreads -static " \export CPPFLAGS=" -I/usr/local/include " \export LDFLAGS=" -L/usr/local/lib " \export LIBS=' -lpsapi -lpng -lffi -lgdiplus -luuid -lexpat -lgdi32 -lmsimg32  -lpixman-1 -lfontconfig -lxml2 -llzma -lmswsock -lfreetype -lpng16 -lz -lharfbuzz -lharfbuzz-icu -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -lintl -liconv -lpthread './configure --prefix=/usr/local \--enable-static \--disable-shared \--with-included-immodules=ime \--disable-gtk-docGTK+ 3.21.4===========GDK backends:         win32Print backends:       file lprDynamic modules:      yesIncluded immodules:   imecolord support:       noIntrospection:        noDebugging:            yesDocumentation:        no---------------------------------------------------------------------------------------------modify ./makefileSRC_SUBDIRS = gdk gtk libgail-util modules demos ---------------------------------------------------------------------------------------------__declspec(dllexport)                    fix to -->   __attribute__((visibility ("default")))__stdcall _export                        fix to -->   __attribute__((visibility ("default")))define PNG_IMPEXP __declspec(dllimport)  fix to -->   define PNG_IMPEXP__attribute__((visibility ("hidden")))   fix to -->   __attribute__((visibility ("default")))delete all DllMain function---------------------------------------------------------------------------------------------gtk/gtksearchengine.c  error: expected identifier before numeric constant---------------------------------------------------------------------------------------------enum {  HITS_ADDED,  HITS_SUBTRACTED,  FINISHED,  ERROR_S,          ERROR fix to -> ERROR_S  LAST_SIGNAL}; signals[ERROR_S] =             ^^g_signal_emit (engine, signals[ERROR_S], 0, error_message);                                    ^^---------------------------------------------------------------------------------------------gtk/gtkspinbutton.c  error: expected identifier before numeric constant---------------------------------------------------------------------------------------------/* Signals */enum{  INPUT_S,                INPUT fix to -> INPUT_S  OUTPUT,  VALUE_CHANGED,  CHANGE_VALUE,  WRAPPED,  LAST_SIGNAL};spinbutton_signals[INPUT_S] =                        ^^g_signal_emit (spin_button, spinbutton_signals[INPUT_S], 0, &val, &return_val);                                                    ^^---------------------------------------------------------------------------------------------gtkroundedbox.c:229:3: error: 'Arc' redeclared as different kind of symbol } Arc;   ^In file included from d:\msys\mingw\i686-w64-mingw32\include\windows.h:71:0,                 from D:/MSYS/local/include/glib-2.0/glib/glib-init.h:32,                 from D:/MSYS/local/include/glib-2.0/glib.h:30,                 from D:/MSYS/local/include/glib-2.0/gobject/gbinding.h:28,                 from D:/MSYS/local/include/glib-2.0/glib-object.h:23,                 from gtkroundedboxprivate.h:21,                 from gtkroundedbox.c:20:d:\msys\mingw\i686-w64-mingw32\include\wingdi.h:2678:28: note: previous declaration of 'Arc' was here   WINGDIAPI WINBOOL WINAPI Arc(HDC hdc,int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4);---------------------------------------------------------------------------------------------gtkroundedbox.c} Arc_L;arc_path_hash (Arc_L *arc)  return mem_hash ((gconstpointer)arc, sizeof (Arc_L));arc_path_equal (Arc_L *arc1,                Arc_L *arc2)  Arc_L key;  memset (&key, 0, sizeof (Arc_L));------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------gtk/updateiconcache.c   ->  gtk-update-icon-cache.exe---------------------------------------------------------------------------------------------#include 
<-- add#include
<-- addintmain (int argc, char **argv){ g_clock_win32_init (); <-- add g_thread_win32_init (); <-- add glib_init (); <-- add gobj_init (); <-- add gchar *path;---------------------------------------------------------------------------------------------gtk/queryimmodules.c -> gtk-query-immodules-2.0.exe---------------------------------------------------------------------------------------------#include
<-- add#include
<-- addint main (int argc, char **argv){ g_clock_win32_init (); <-- add g_thread_win32_init (); <-- add glib_init (); <-- add gobj_init (); <-- add char *cwd;---------------------------------------------------------------------------------------------gtk/gtk-launch.c -> gtk-launch.exe---------------------------------------------------------------------------------------------#include
#include
intmain (int argc, char *argv[]){ g_clock_win32_init (); g_thread_win32_init (); glib_init (); gobj_init (); ---------------------------------------------------------------------------------------------gtk/encodesymbolic.c -> gtk-encode-symbolic-svg.exe#include
#include
intmain (int argc, char *argv[]){ g_clock_win32_init (); g_thread_win32_init (); glib_init (); gobj_init (); ---------------------------------------------------------------------------------------------gtk/gtk-builder-tool.cint main (int argc, const char *argv[]){ g_set_prgname ("gtk-builder-tool"); fix to -> gtk_init (&argc, &argv); gtk_init (NULL, NULL); fix to -> g_set_prgname ("gtk-builder-tool");---------------------------------------------------------------------------------------------demos\gtk-demo\main.c---------------------------------------------------------------------------------------------intmain (int argc, char **argv){ gtk_init (&argc, &argv); <-- add GtkApplication *app;--------------------------------------------------------------------------------------------- *********************** skip the part *******************************************************---------------------------------------------------------------------------------------------undefined reference to `IID_IShellLinkW' -luuidundefined reference to `hb_icu_script_to_script' -lharfbuzz -lharfbuzz-icu undefined reference to `__gxx_personality_sj0' -lsupc++ ---------------------------------------------------------------------------------------------demos\gtk-demo\main.c---------------------------------------------------------------------------------------------#include
<-- add#include
<-- addintmain (int argc, char **argv){ g_clock_win32_init (); <-- add g_thread_win32_init (); <-- add glib_init (); <-- add gobj_init (); <-- add GtkWidget *window;---------------------------------------------------------------------------------------------gtk/gtkmarshalers.c:(.text+0xc10): multiple definition of `_gtk_marshal_OBJECT__VOID'perf/marshalers.o:marshalers.c:(.text+0x0): first defined here---------------------------------------------------------------------------------------------gdkmain-win32.c:(.text+0x0): multiple definition of `DllMain@12'gtkmain.c:(.text+0x8b0): first defined here--------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------tests/testmultidisplay.c: In function 'main':testmultidisplay.c:104:14: error: expected identifier or '(' before numeric constant GdkScreen *scr2 = NULL; /* Quiet GCC */ ^testmultidisplay.c:145:13: error: lvalue required as left operand of assignment scr2 = gdk_display_get_default_screen (dpy2); ^testmultidisplay.c:176:26: warning: passing argument 1 of 'make_selection_dialog' makes pointer from integer without a cast [-Wint-conversion] make_selection_dialog (scr2, entry, entry2); ^GdkScreen *scr2L = NULL; scr2 fix to -> scr2Ltestmultidisplay.c:56:1: note: expected 'GdkScreen * {aka struct _GdkScreen *}' but argument is oftype 'int' make_selection_dialog (GdkScreen * screen,---------------------------------------------------------------------------------------------tests/testselection.c---------------------------------------------------------------------------------------------typedef enum { SEL_TYPE_NONE, APPLE_PICT, ATOM_L, ATOM fix to -> ATOM_L ATOM_PAIR, BITMAP_L, BITMAP fix to -> BITMAP_L C_STRING,*********************************************************************************************---------------------------------------------------------------------------------------------gtkmain.c---------------------------------------------------------------------------------------------static HMODULE gtk_dll = NULL;// BOOL WINAPI// DllMain (HINSTANCE hinstDLL, // DWORD fdwReason, // LPVOID lpvReserved)// { // switch (fdwReason) // { // case DLL_PROCESS_ATTACH: // gtk_dll = (HMODULE) hinstDLL; // break; // } // return TRUE;// }---------------------------------------------------------------------------------------------gdkmain-win32.c---------------------------------------------------------------------------------------------// int __stdcall// DllMain (HINSTANCE hinstDLL, // DWORD dwReason, // LPVOID reserved)// { // _gdk_dll_hinstance = hinstDLL; // return TRUE;// }---------------------------------------------------------------------------------------------gdk/win32/gdkglobals-win32.c---------------------------------------------------------------------------------------------HINSTANCE _gdk_dll_hinstance = NULL;------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------gtkclipboard.c:(.text+0x16b8): undefined reference to `_imp__gdk_threads_unlock'gtkclipboard.c:(.text+0x16d1): undefined reference to `_imp__gdk_threads_lock'---------------------------------------------------------------------------------------------gdktypes.h---------------------------------------------------------------------------------------------#ifdef G_OS_WIN32# ifdef GDK_COMPILATION# define GDKVAR __declspec(dllexport) -> __attribute__((visibility ("default")))# else# define GDKVAR extern __declspec(dllimport) -> define GDKVAR extern# endif#else# define GDKVAR extern#endif---------------------------------------------------------------------------------------------gtkdebug.hgtkmain.hgtktexttypes.h---------------------------------------------------------------------------------------------#ifdef G_OS_WIN32# ifdef GDK_COMPILATION# define GTKVAR __declspec(dllexport) -> __attribute__((visibility ("default")))# else# define GTKVAR extern __declspec(dllimport) -> define GTKVAR extern# endif#else# define GTKVAR extern#endif---------------------------------------------------------------------------------------------gtk/gtkmain.c---------------------------------------------------------------------------------------------...#include
<--- add#include
<--- add...voidgtk_init (int *argc, char ***argv){ g_clock_win32_init (); <--- add g_thread_win32_init (); <--- add glib_init (); <--- add gobj_init (); <--- add cairo_mutex_init(); <--- add epoxy_init(); <--- add if (!gtk_init_check (argc, argv))---------------------------------------------------------------------------------------------void gtk_main_do_event (GdkEvent *event)... case GDK_DESTROY: /* Unexpected GDK_DESTROY from the outside, ignore for * child windows, handle like a GDK_DELETE for toplevels */ if (!gtk_widget_get_parent (event_widget)) { g_object_ref (event_widget); if (!gtk_widget_event (event_widget, event) && gtk_widget_get_realized (event_widget)) gtk_widget_destroy (event_widget); g_object_unref (event_widget); } cairo_mutex_finalize(); <--- add epoxy_exit(); <--- add break;...---------------------------------------------------------------------------------------------In file included from d:\msys\mingw\i686-w64-mingw32\include\windows.h:72:0, from D:/MSYS/local/include/glib-2.0/glib/glib-init.h:32, from D:/MSYS/local/include/glib-2.0/glib.h:30, from ../gdk/gdkconfig.h:13, from ../gdk/gdk.h:30, from gtkwin32drawprivate.h:21, from gtkwin32draw.c:20:gtkwin32draw.c:162:3: error: expected identifier before '(' token EDGE_RAISED = (EDGE_RAISED_OUTER | EDGE_RAISED_INNER), ^gtkwin32draw.c:731:0: warning: "RGB" redefined #define RGB(r, g, b) { (r)/255.0, (g)/255.0, (b)/255., 1.0 } ^In file included from d:\msys\mingw\i686-w64-mingw32\include\windows.h:71:0, from D:/MSYS/local/include/glib-2.0/glib/glib-init.h:32, from D:/MSYS/local/include/glib-2.0/glib.h:30, from ../gdk/gdkconfig.h:13, from ../gdk/gdk.h:30, from gtkwin32drawprivate.h:21, from gtkwin32draw.c:20:d:\msys\mingw\i686-w64-mingw32\include\wingdi.h:1395:0: note: this is the location of the previous definition #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))EDGE_RAISED fix to -> EDGE_RAISED_LEDGE_SUNKEN fix to -> EDGE_SUNKEN_LEDGE_ETCHED fix to -> EDGE_ETCHED_LEDGE_BUMP fix to -> EDGE_BUMP_L---------------------------------------------------------------------------------------------./.libs/libgtk-3.a(libgtk_3_la-gtkaccessibility.o):gtkaccessibility.c:(.text+0x19ba): undefined reference to `_imp__atk_misc_instance'----------------------------------------------------------atk/atkmisc.h//# define ATK_VAR extern __declspec(dllimport)# define ATK_VAR extern----------------------------------------------------------atk/config.h// #define _ATK_EXTERN __attribute__((visibility("default"))) __declspec(dllexport) extern#define _ATK_EXTERN __attribute__((visibility("default")))----------------------------------------------------------make && make install----------------------------------------------------------gtk/MakefileLIBS = * -latk-1.0 <-- add---------------------------------------------------------------------------------------------Could not Find Dwmapi.dll Error Available in Windows Vista and later versions of Windows.---------------------------------------------------------------------------------------------Searching for 'dwm'...gdk\win32\gdkevents-win32.c(3464): case WM_DWMCOMPOSITIONCHANGED:gdk\win32\gdkevents-win32.c(3586): /* TODO: pass all messages to DwmDefWindowProc() first! */gdk\win32\gdkproperty-win32.c(423): info.dwMajorVersion > 6 ||gdk\win32\gdkproperty-win32.c(424): (info.dwMajorVersion == 6 && info.dwMinorVersion >= 2))gdk\win32\gdkscreen-win32.c(28):#include
gdk\win32\gdkscreen-win32.c(359): /* On Windows 8 and later, DWM (composition) is always enabled */gdk\win32\gdkscreen-win32.c(452): if (DwmIsCompositionEnabled (&is_composited) != S_OK)gdk\win32\gdkwindow-win32.c(44):#include
gdk\win32\gdkwindow-win32.c(452): DWM_BLURBEHIND blur_behind;gdk\win32\gdkwindow-win32.c(488): blur_behind.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION;gdk\win32\gdkwindow-win32.c(491): call_result = DwmEnableBlurBehindWindow (thiswindow, &blur_behind);gdk\win32\gdkwindow-win32.c(495): G_STRLOC, "DwmEnableBlurBehindWindow", thiswindow, (guint32) call_result);12 occurrence(s) have been found.---------------------------------------------------------------------------------------------gdk\win32\gdkevents-win32.c(3464)// case WM_DWMCOMPOSITIONCHANGED:// _gdk_win32_window_enable_transparency (window);// break;gdk\win32\gdkproperty-win32.c(424)// if (!GetVersionEx (&info) ||// info.dwMajorVersion > 6 ||// (info.dwMajorVersion == 6 && info.dwMinorVersion >= 2))// return FALSE;gdk\win32\gdkscreen-win32.c(28)//#include
gdk\win32\gdkscreen-win32.c(452)//if (DwmIsCompositionEnabled (&is_composited) != S_OK)// return FALSE; gdk\win32\gdkwindow-win32.c(44)//#include
gdk\win32\gdkwindow-win32.c(452)//DWM_BLURBEHIND blur_behind;gdk\win32\gdkwindow-win32.c(488)//memset (&blur_behind, 0, sizeof (blur_behind));//blur_behind.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION;//blur_behind.hRgnBlur = empty_region;//blur_behind.fEnable = TRUE;//call_result = DwmEnableBlurBehindWindow (thiswindow, &blur_behind);gdk\win32\gdkwindow-win32.c(495)// if (!SUCCEEDED (call_result))// g_warning ("%s: %s (%p) failed: %" G_GINT32_MODIFIER "x",// G_STRLOC, "DwmEnableBlurBehindWindow", thiswindow, (guint32) call_result);make---------------------------------------------------------------------------------------------SetupDiGetDevicePropertyW SETUPAPI.dll error Available in Windows Vista and later versions of Windows.---------------------------------------------------------------------------------------------gdk\win32\gdkmonitor-win32.c(188)static gbooleanget_device_property (HDEVINFO device_infoset, SP_DEVINFO_DATA *device_info_data, DEVPROPKEY *property_key, gpointer *r_buffer, gsize *r_buffer_size, DEVPROPTYPE *r_property_type, GError **error){/* DEVPROPTYPE property_type; gpointer property; DWORD property_size; property = NULL; property_size = 0; if (!SetupDiGetDevicePropertyW (device_infoset, device_info_data, property_key, &property_type, property, property_size, &property_size, 0)) { DWORD error_code = GetLastError (); if (error_code != ERROR_INSUFFICIENT_BUFFER) { gchar *emsg = g_win32_error_message (error_code); g_warning ("Failed to get device node property {" G_GUID_FORMAT "},%lu size: %s", g_format_guid (&property_key->fmtid), property_key->pid, emsg); g_free (emsg); return FALSE; } } if (r_buffer) { property = g_malloc (property_size); if (!SetupDiGetDevicePropertyW (device_infoset, device_info_data, property_key, &property_type, property, property_size, &property_size, 0)) { DWORD error_code = GetLastError (); gchar *emsg = g_win32_error_message (error_code); g_warning ("Failed to get device node property {" G_GUID_FORMAT "},%lu: %s", g_format_guid (&property_key->fmtid), property_key->pid, emsg); g_free (emsg); return FALSE; } *r_buffer = property; } if (r_buffer_size) *r_buffer_size = property_size; if (r_property_type) *r_property_type = property_type; */ return TRUE;}---------------------------------------------------------------------------------------------SHCreateItemFromParsingName SHELL32.dll error Windows Vista [desktop apps only]---------------------------------------------------------------------------------------------gtk\gtkfilechoosernativewin32.c(371)// hr = SHCreateItemFromParsingName(uri_w, 0, &IID_IShellItem, (LPVOID *) &item);// if (SUCCEEDED (hr))// return item;// else// g_warning_hr ("Can't create shell item from shortcut", hr);---------------------------------------------------------------------------------------------D:\MSYS\build\libs-2\GTK_-3~1.4\demos\gtk-demo\GTK3-D~1.EXE Missing entry: g_win32_run_session_bus@16gio/gdbusaddress.c------------------------ //res = CreateProcessW (rundll_path, args, // 0, 0, FALSE, // NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW | DETACHED_PROCESS, // 0, NULL /* TODO: Should be root */, // &si, &pi); hThread=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)g_win32_run_session_bus, NULL,0,&ThreadID); if(hThread) { g_print ("g_win32_run_session_bus thread run.\n"); address = read_shm (DBUS_DAEMON_ADDRESS_INFO); } else { g_print ("g_win32_run_session_bus thread create false.\n"); }---------------------------------------------------------------------------------------------tests/testheightforwidth.ctypedef struct { const gchar *name; const gchar *tooltip; const gchar *interface_M; <- GtkWidget *window;} TestInterface;static voidtest_clicked (GtkWidget *button, TestInterface *interface_L) <----------------------------------------------------------------------------------------------gdk\win32\gdkwindow-win32.c--------------------------------------------------------------------------------------------- /* Don't use UpdateLayeredWindow on minimized windows */ Line 4935 API_CALL (UpdateLayeredWindow, (GDK_WINDOW_HWND (window), NULL, fix to UpdateLayeredWindow, (GDK_WINDOW_HWND (window), NULL,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*** Warning: This system cannot link to static lib archive /gdk/libgdk-win32-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libpangocairo-1.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libpangowin32-1.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libpangoft2-1.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libpango-1.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libgthread-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libatk-1.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libcairo.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libpixman-1.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libfontconfig.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libxml2.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/liblzma.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libgdk_pixbuf-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libgio-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libgmodule-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libgobject-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libglib-2.0.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libffi.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libintl.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libiconv.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libharfbuzz-icu.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libharfbuzz.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libfreetype.la.*** Warning: This system cannot link to static lib archive /usr/local/lib/libpng16.la.*** Warning: This system cannot link to static lib archive d:/msys/mingw/lib/libsupc++.la.---------------------------------------------------------------------------------------------
Conclusion: in XP system, the performance of gtk3 is very poor.

转载于:https://www.cnblogs.com/nlsoft/p/5767132.html

你可能感兴趣的文章
计算机网络与Internet应用
查看>>
Django 文件下载功能
查看>>
走红日本 阿里云如何能够赢得海外荣耀
查看>>
磁盘空间满引起的mysql启动失败:ERROR! MySQL server PID file could not be found!
查看>>
点播转码相关常见问题及排查方式
查看>>
[arm驱动]linux设备地址映射到用户空间
查看>>
弗洛伊德算法
查看>>
【算法之美】求解两个有序数组的中位数 — leetcode 4. Median of Two Sorted Arrays
查看>>
精度 Precision
查看>>
Android——4.2 - 3G移植之路之 APN (五)
查看>>
Linux_DHCP服务搭建
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
网吧维护工具
查看>>
BOOT.INI文件参数
查看>>