我想开发一个基于现有开源Objective-C框架的iPhone应用程序,但是该框架广泛使用了glib库,我无法找到一种方法来构建和包含用于iPhone应用程序的glib库(非越狱) ).
有没有办法可以做到这一点,或者是否有任何建议的方法将框架移离glib?
谢谢
嗨,每一个我都有一个程序,我有包括
我用过命令
sudo apt-get install libgtk2.0-dev glib
sudo apt-get install glade
Run Code Online (Sandbox Code Playgroud)
但仍然得到glib未找到ans gtk/gtk.h未找到的错误.我是第一次使用这个gtk.不知道它如何工作如何安装它请帮助我谢谢
我在做c编程
这是我对 GTK 理解的延续:
在 pthread 下从 Main 调用 GTK_MAIN() 对吗??示例代码 ::
从主要我调用dispInit(argc, argv); 我从中调用g_thread_create(main_callback, NULL, FALSE, NULL);
** 我也没有在此代码中包含 g_idle_add ..这只是一个参考代码。
请指导
#include <stdio.h>
#include <glib.h>
#include <gtk/gtk.h>
//#include "dispimage.h"
#include <windows.h>
#define sleep(n) Sleep(1000 * n)
GtkWidget* window;
void dispInit(int argc, char* argv[]);
void dispInfoPage(char* fileName, int duration);
gpointer main_callback(gpointer data)
{
gtk_main();
return 0;
}
void dispInit(int argc, char* argv[])
{
gdk_threads_init();
gdk_threads_enter();
printf("Initializing the display library\n");
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_resize(GTK_WINDOW(window), 640, …Run Code Online (Sandbox Code Playgroud) 我正在使用glib的测试框架进行单元测试.我的库也使用了gobject,在我的测试unities中我想检查在每个对象的最后一次_unref之后是否正确释放了对象.当g_test_trap_fork可用时,我在每次_unref之后使用它,第二次调用_unref,然后检查g_test_trap_assert_failed().
但是,现在g_test_trap_fork正在被弃用,我正朝着g_test_trap_subprocess迈进.问题是现在我必须为每个要检查的_unref编写一个单独的测试用例,因为每个case都可以包含几个对象,这些对象意味着每个测试用例的重复,为每个已经存在的测试用例添加第二个_unref.
例如,我试图像这样修复:
NcmVector *v = test->v;
GVariant *var = ncm_vector_get_variant (v);
g_assert (!g_variant_is_floating (var));
g_assert (g_variant_is_container (var));
g_assert_cmpuint (ncm_vector_len (v), ==, g_variant_n_children (var));
{
NcmVector *nv = ncm_vector_new_variant (var);
gint i;
g_assert_cmpuint (ncm_vector_len (v), ==, ncm_vector_len (nv));
for (i = 0; i < ncm_vector_len (v); i++)
{
ncm_assert_cmpdouble (ncm_vector_get (v, i), ==, ncm_vector_get (nv, i));
}
ncm_vector_free (nv);
NCM_TEST_FAIL (ncm_vector_free (nv));
}
g_variant_unref (var);
NCM_TEST_FAIL (g_variant_unref (var); fprintf (stderr, "fail (%s)", g_variant_get_type_string (var)));
Run Code Online (Sandbox Code Playgroud)
宏NCM_TEST_FAIL由下式给出:
#define NCM_TEST_FAIL(cmd) \
G_STMT_START { …Run Code Online (Sandbox Code Playgroud) 假设我有 aGLib.Array<Item?>并想将其转换为 a Item[],我将如何在 Vala 中做到这一点?
我有这个功能:
static
void ReadFilesInDirectory(const std::string &target)
{
GDir *dir;
GError *error;
const gchar *filename;
gchar* pathPlusFilename;
dir = g_dir_open(target.c_str(), 0, &error);
while ((filename = g_dir_read_name(dir)))
{
pathPlusFilename = g_build_filename(target.c_str(),filename,(gchar*)NULL);
if( g_file_test(pathPlusFilename ,G_FILE_TEST_IS_REGULAR) )
{
std::cout << "(file) " << pathPlusFilename << std::endl;
}
else
{
if( g_file_test(pathPlusFilename ,G_FILE_TEST_IS_DIR) )
{
std::cout << "(directory) " << pathPlusFilename << std::endl;
chdir(filename);
ReadFilesInDirectory(pathPlusFilename);
}
}
}
if(error) g_error_free(error); // gives an error at running time
g_free(pathPlusFilename);
g_dir_close(dir);
}
Run Code Online (Sandbox Code Playgroud)
有一个 GError 变量,但我不知道如何从 GError 中打印一些东西, …
我尝试使用CLion编译我的测试GLib项目.所以我#include "glib-2.0/glib.h"在我的cpp文件中添加并添加include_directories(/usr/include/glib-2.0/glib)到我的CMakeLists.txt中.但是在CLion获得了输出:
致命错误:glib/galloca.h:没有这样的文件或目录
那么我如何才能在我的CLion项目中正确使用GLib?
所以基本上我正在编写以下步骤来创建基于 dbus 的应用程序。1. g_bus_watch_name(出现特定服务的回调) 2. g_signal_connect 附加到服务提供的某些信号。g_signal_connect(proxy,"xyz", G_CALLBACK(回调), NULL);
我希望“回调”在特定线程上下文中运行。
任何提示将不胜感激
释放由glib g_malloc函数分配的缓冲区两次是安全的还是禁止的?
char *buffer = g_malloc(10);
g_free(buffer);
g_free(buffer);
Run Code Online (Sandbox Code Playgroud) 我正在尝试编译一个需要头文件 json-glib.h 的 C++ 文件,编译日志说找不到这样的头文件。我在 ubuntu 18.04 LTS 中。
我尝试执行dpkg -l '*json-glib*'以检查我的系统中是否有这样的文件,结果是:
||/ Nombre Versión Arquitectura
ii libjson-glib-1.0-0:amd64 1.4.2-3 amd64
ii libjson-glib-1.0-common 1.4.2-3 all
Run Code Online (Sandbox Code Playgroud)
所以接下来,我执行了命令pkg-config --cflags libjson-glib-1.0并得到:
Package libjson-glib-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libjson-glib-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libjson-glib-1.0' found
Run Code Online (Sandbox Code Playgroud)
我试过 pkg-config --cflags json-glib-1.0, pkg-config --cflags json-glib, 和pkg-config --cflags libjson-glib并且结果与上面类似。
我还遵循了致命错误的答案的说明:找不到 json-glib.h 文件和https://unix.stackexchange.com/questions/297277/make-doesnt-find-an-installed-library/298035#298035 …
glib ×10
c ×3
c++ ×2
gtk ×2
linux ×2
apt ×1
clion ×1
cmake ×1
dbus ×1
double-free ×1
frameworks ×1
gobject ×1
gtk2 ×1
iphone ×1
json ×1
objective-c ×1
pkg-config ×1
ubuntu ×1
unit-testing ×1
vala ×1