{"id":2569,"date":"2025-09-05T15:53:41","date_gmt":"2025-09-05T07:53:41","guid":{"rendered":"https:\/\/thereisno.top\/?p=2569"},"modified":"2025-10-01T23:15:57","modified_gmt":"2025-10-01T15:15:57","slug":"macos-pkg-config%e7%bc%96%e8%af%91","status":"publish","type":"post","link":"https:\/\/thereisno.top\/?p=2569","title":{"rendered":"macOS pkg-config\u7f16\u8bd1"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e0b\u8f7d\u6e90\u7801<\/h2>\n\n\n\n<pre id=\"codecell0\" class=\"wp-block-preformatted\">curl http:\/\/pkgconfig.freedesktop.org\/releases\/pkg-config-0.29.2.tar.gz -o pkg-config-0.29.2.tar.gz\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u7f16\u8bd1<\/h2>\n\n\n\n<pre id=\"codecell1\" class=\"wp-block-preformatted\">tar -xf pkg-config-0.29.2.tar.gz\ncd pkg-config-0.29.2\n.\/configure  --with-internal-glib\nmake\n<\/pre>\n\n\n\n<!--more-->\n\n\n\n<p>\u6267\u884cmake \u65f6\u62a5\u9519<\/p>\n\n\n\n<pre id=\"codecell2\" class=\"wp-block-preformatted\">gatomic.c:392:10: error: incompatible integer to pointer conversion passing 'gssize' (aka 'long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]\n  392 |   return g_atomic_pointer_add ((volatile gpointer *) atomic, val);\n      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.\/gatomic.h:170:46: note: expanded from macro 'g_atomic_pointer_add'\n  170 |     (gssize) __sync_fetch_and_add ((atomic), (val));                         \\\n      |                                              ^~~~~\ngatomic.c:416:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]\n  416 |   return g_atomic_pointer_and ((volatile gpointer *) atomic, val);\n      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.\/gatomic.h:177:45: note: expanded from macro 'g_atomic_pointer_and'\n  177 |     (gsize) __sync_fetch_and_and ((atomic), (val));                          \\\n      |                                             ^~~~~\ngatomic.c:440:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]\n  440 |   return g_atomic_pointer_or ((volatile gpointer *) atomic, val);\n      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.\/gatomic.h:184:44: note: expanded from macro 'g_atomic_pointer_or'\n  184 |     (gsize) __sync_fetch_and_or ((atomic), (val));                           \\\n      |                                            ^~~~~\ngatomic.c:464:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]\n  464 |   return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);\n      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.\/gatomic.h:191:45: note: expanded from macro 'g_atomic_pointer_xor'\n  191 |     (gsize) __sync_fetch_and_xor ((atomic), (val));                          \\\n      |                                             ^~~~~\n4 errors generated.\n\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u4ee3\u7801\u4fee\u6539<\/h2>\n\n\n\n<pre id=\"codecell3\" class=\"wp-block-preformatted\">diff --git a\/glib\/glib\/gatomic.c b\/glib\/glib\/gatomic.c\nindex eb2fe46..33fbddc 100644\n--- a\/glib\/glib\/gatomic.c\n+++ b\/glib\/glib\/gatomic.c\n@@ -386,10 +386,10 @@ gboolean\n  * Since: 2.30\n  **\/\n gssize\n-(g_atomic_pointer_add) (volatile void *atomic,\n+(g_atomic_pointer_add) (volatile gssize *atomic,\n                         gssize         val)\n {\n-  return g_atomic_pointer_add ((volatile gpointer *) atomic, val);\n+  return g_atomic_pointer_add ((volatile gssize *) atomic, val);\n }\n \n \/**\n@@ -410,10 +410,10 @@ gssize\n  * Since: 2.30\n  **\/\n gsize\n-(g_atomic_pointer_and) (volatile void *atomic,\n+(g_atomic_pointer_and) (volatile gsize *atomic,\n                         gsize          val)\n {\n-  return g_atomic_pointer_and ((volatile gpointer *) atomic, val);\n+  return g_atomic_pointer_and ((volatile gsize *) atomic, val);\n }\n \n \/**\n@@ -434,10 +434,10 @@ gsize\n  * Since: 2.30\n  **\/\n gsize\n-(g_atomic_pointer_or) (volatile void *atomic,\n+(g_atomic_pointer_or) (volatile gsize *atomic,\n                        gsize          val)\n {\n-  return g_atomic_pointer_or ((volatile gpointer *) atomic, val);\n+  return g_atomic_pointer_or ((volatile gsize *) atomic, val);\n }\n \n \/**\n@@ -458,10 +458,10 @@ gsize\n  * Since: 2.30\n  **\/\n gsize\n-(g_atomic_pointer_xor) (volatile void *atomic,\n+(g_atomic_pointer_xor) (volatile gsize *atomic,\n                         gsize          val)\n {\n-  return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);\n+  return g_atomic_pointer_xor ((volatile gsize *) atomic, val);\n }\n \n #elif defined (G_PLATFORM_WIN32)\ndiff --git a\/glib\/glib\/gatomic.h b\/glib\/glib\/gatomic.h\nindex e7fd1f2..21746da 100644\n--- a\/glib\/glib\/gatomic.h\n+++ b\/glib\/glib\/gatomic.h\n@@ -66,16 +66,16 @@ gboolean                g_atomic_pointer_compare_and_exchange (volatile void  *a\n                                                                gpointer        oldval,\n                                                                gpointer        newval);\n GLIB_AVAILABLE_IN_ALL\n-gssize                  g_atomic_pointer_add                  (volatile void  *atomic,\n+gssize                  g_atomic_pointer_add                  (volatile gssize  *atomic,\n                                                                gssize          val);\n GLIB_AVAILABLE_IN_2_30\n-gsize                   g_atomic_pointer_and                  (volatile void  *atomic,\n+gsize                   g_atomic_pointer_and                  (volatile gsize  *atomic,\n                                                                gsize           val);\n GLIB_AVAILABLE_IN_2_30\n-gsize                   g_atomic_pointer_or                   (volatile void  *atomic,\n+gsize                   g_atomic_pointer_or                   (volatile gsize  *atomic,\n                                                                gsize           val);\n GLIB_AVAILABLE_IN_ALL\n-gsize                   g_atomic_pointer_xor                  (volatile void  *atomic,\n+gsize                   g_atomic_pointer_xor                  (volatile gsize  *atomic,\n                                                                gsize           val);\n \n GLIB_DEPRECATED_IN_2_30_FOR(g_atomic_add)\ndiff --git a\/glib\/glib\/gdataset.c b\/glib\/glib\/gdataset.c\nindex 006bdc1..1793716 100644\n--- a\/glib\/glib\/gdataset.c\n+++ b\/glib\/glib\/gdataset.c\n@@ -1188,7 +1188,7 @@ g_datalist_set_flags (GData **datalist,\n   g_return_if_fail (datalist != NULL);\n   g_return_if_fail ((flags &amp; ~G_DATALIST_FLAGS_MASK) == 0);\n \n-  g_atomic_pointer_or (datalist, (gsize)flags);\n+  g_atomic_pointer_or ((gsize *)datalist, (gsize)flags);\n }\n \n \/**\n@@ -1211,7 +1211,7 @@ g_datalist_unset_flags (GData **datalist,\n   g_return_if_fail (datalist != NULL);\n   g_return_if_fail ((flags &amp; ~G_DATALIST_FLAGS_MASK) == 0);\n \n-  g_atomic_pointer_and (datalist, ~(gsize)flags);\n+  g_atomic_pointer_and ((gssize *)datalist, ~(gsize)flags);\n }\n \n \/**\n\n<\/pre>\n\n\n\n<p>\u518d\u6b21\u7f16\u8bd1\u6210\u529f<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u8f7d\u6e90\u7801 curl http:\/\/pkgconfig.freedesktop.org\/releases\/pkg &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/thereisno.top\/?p=2569\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201cmacOS pkg-config\u7f16\u8bd1\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[147,41],"tags":[47,72],"class_list":["post-2569","post","type-post","status-publish","format-standard","hentry","category-c","category-macos","tag-libreoffice","tag-macos"],"_links":{"self":[{"href":"https:\/\/thereisno.top\/index.php?rest_route=\/wp\/v2\/posts\/2569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thereisno.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thereisno.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thereisno.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thereisno.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2569"}],"version-history":[{"count":2,"href":"https:\/\/thereisno.top\/index.php?rest_route=\/wp\/v2\/posts\/2569\/revisions"}],"predecessor-version":[{"id":2677,"href":"https:\/\/thereisno.top\/index.php?rest_route=\/wp\/v2\/posts\/2569\/revisions\/2677"}],"wp:attachment":[{"href":"https:\/\/thereisno.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thereisno.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thereisno.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}