Compiling simple gtk+ application - gtk

I try to compile simple gtk+ application in Anjuta IDE. Application is a simple window:
# include <gtk/gtk.h>
int main( int argc, char *argv[])
{
GtkWidget *label;
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Здравствуй, мир!");
label = gtk_label_new("Здравствуй, мир!");
gtk_container_add(GTK_CONTAINER(window), label);
gtk_widget_show_all(window);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}
In make file i have:
GTK_CFLAGS = -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1
GTK_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
But i see error, when i try to compile project: gtk/gtk.h - No such file or directory
Thank you.

On linux under terminal with no make file
gcc -o project project.cpp -Wall `pkg-config --libs --cflags gtk+-2.0`
replace project with whatever your file is name
and replace gtk+-2.0 with whatever version your using its simple and
make files are uneeded for such a small program
:P
goodluck

In Anjuta, you can choose Properties from the Project menu, then go to the Packages tab. There will be a list of modules and packages. Add the package gtk+-2.0 to whatever module is in the list.

Related

This happened while following the gstreamer plugin example

First I downloaded git via git clone https://gitlab.freedesktop.org/gstreamer/gst-template.git command
And shell $ cd gst-template/gst-plugin/src
Completed entering the shell $ ../tools/make_element MyFilter command
And I did meson build in /gst-template, then ninja -C build, so the log came out as below.
ninja: Entering directory `build/'
[1/4] Compiling C object gst-plugin/libgstplugin.so.p/src_gstplugin.c.o
FAILED: gst-plugin/libgstplugin.so.p/src_gstplugin.c.o
cc -Igst-plugin/libgstplugin.so.p -Igst-plugin -I../gst-plugin -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include - fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -fPIC -pthread -DHAVE_CONFIG_H -MD -MQ gst- plugin/libgstplugin.so.p/src_gstplugin.c.o -MF gst-plugin/libgstplugin.so.p/src_gstplugin.c.o.d -o gst-plugin/libgstplugin.so.p/src_gstplugin.c.o -c ../gst- plugin/src/gstplugin.c
../gst-plugin/src/gstplugin.c:102:45: error: expected ‘)’ before string constant
GST_ELEMENT_REGISTER_DEFINE (myfirstplugin, "myfirstplugin", GST_RANK_NONE,
^~~~~~~~~~
../gst-plugin/src/gstplugin.c: In function ‘plugin_init’:
../gst-plugin/src/gstplugin.c:266:10: warning: implicit declaration of function ‘GST_ELEMENT_REGISTER’; did you mean ‘GST_ELEMENT_CAST’? [-Wimplicit- function-declaration]
return GST_ELEMENT_REGISTER (myfirstplugin, plugin);
^~~~~~~~~
GST_ELEMENT_CAST
../gst-plugin/src/gstplugin.c:266:32: error: ‘myfirstplugin’ undeclared (first use in this function); did you mean ‘GstPlugin’?
return GST_ELEMENT_REGISTER (myfirstplugin, plugin);
^~~~~~~~~~~~~
GstPlugin
../gst-plugin/src/gstplugin.c:266:32: note: each undeclared identifier is reported only once for each function it appears in
../gst-plugin/src/gstplugin.c:267:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
[2/4] Compiling C object gst-plugin/libgstaudiofilterexample.so.p/src_gstaudiofilter.c.o
FAILED: gst-plugin/libgstaudiofilterexample.so.p/src_gstaudiofilter.c.o
cc -Igst-plugin/libgstaudiofilterexample.so.p -Igst-plugin -I../gst-plugin -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib- 2.0/include -I/usr/include/orc-0.4 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -fPIC -pthread -DHAVE_CONFIG_H -MD -MQ gst-plugin/libgstaudiofilterexample.so.p/src_gstaudiofilter.c.o -MF gst-plugin/libgstaudiofilterexample.so.p/src_gstaudiofilter.c.o.d -o gst- plugin/libgstaudiofilterexample.so.p/src_gstaudiofilter.c.o -c ../gst-plugin/src/gstaudiofilter.c
../gst-plugin/src/gstaudiofilter.c:99:51: error: expected ‘)’ before string constant
GST_ELEMENT_REGISTER_DEFINE (audiofiltertemplate, "audiofiltertemplate",
^~~~~~~~~~~~~~
../gst-plugin/src/gstaudiofilter.c: In function ‘plugin_init’:
../gst-plugin/src/gstaudiofilter.c:311:10: warning: implicit declaration of function ‘GST_ELEMENT_REGISTER’; did you mean ‘GST_ELEMENT_CAST’? [-Wimplicit- function-declaration]
return GST_ELEMENT_REGISTER (audiofiltertemplate, plugin);
^~~~~~~~~
GST_ELEMENT_CAST
../gst-plugin/src/gstaudiofilter.c:311:32: error: ‘audiofiltertemplate’ undeclared (first use in this function); did you mean ‘GstAudioFilterTemplate’?
return GST_ELEMENT_REGISTER (audiofiltertemplate, plugin);
^~~~~~~~~~~~
GstAudioFilterTemplate
../gst-plugin/src/gstaudiofilter.c:311:32: note: each undeclared identifier is reported only once for each function it appears in
../gst-plugin/src/gstaudiofilter.c:312:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
ninja: build stopped: subcommand failed.
The installed gstreamer version doesn't match to the cloned version from the git repository.
Use gst-launch-1.0 --version to determine which version you have installed.
You need at least 1.18 to use the gst-plugin example.

Problem with Debian 10, Eclipse, C when linking GTK3 libs

I am using Debian 10, GTK3 (package libgtk-3-dev), CDT, GCC. Compiling and linking by command line / shell ($1-parameter) works fine:
gcc `pkg-config --cflags gtk+-3.0` $1.c -o $1 `pkg-config --libs gtk+-3.0`
I installed Codeblocks and changed the compiler and linker settings due to command line options, it works as well.
But I want to use Eclipse (2019-03) as IDE as I am used to it.
Installation of pkg-config plugin via Marketplace failed (compatibilty problem).
So I changed compiler and linker settings, replacing pkg-config (didn't work) with its contents.
Compiler settings:
-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
Linker settings:
-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
Program:
#include <gtk/gtk.h>
void on_button_clicked (GtkButton *button) {
g_print ("button '%s' clicked\n", gtk_button_get_label (button));
}
int main (int argc, char *argv[]) {
GtkWidget *window, *button;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Hallo Michel");
gtk_container_add (GTK_CONTAINER (window), button);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (button, "clicked", G_CALLBACK (on_button_clicked), NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
Compilation works (.o-file created), debugging is possible, but linking fails:
Eclipse Console output:
Building target: GTK3
Invoking: GCC C Linker
gcc -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -o "GTK3" ./gtk_test.o
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
make: *** [makefile:31: GTK3] Fehler 1
"make all" terminated with exit code 2. Build might be incomplete.
Eclipse Problems output:
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start': GTK3 C/C++ Problem
make: *** [makefile:31: GTK3] Fehler 1 GTK3 C/C++ Problem
Type 'GTK_CONTAINER (window)' could not be resolved gtk_test.c /GTK3 line 14 Semantic Error
Type 'GTK_CONTAINER (window)' could not be resolved gtk_test.c /GTK3 line 17 Semantic Error
Type 'GTK_WINDOW (window)' could not be resolved gtk_test.c /GTK3 line 13 Semantic Error
undefined reference to `main' GTK3 C/C++ Problem
Who knows what to do?
Thanks in advance
Michel

Audio Policies error during Pixel Experience compilation

During the compilation of Pixel Experience (I use brunch, but the same error is occurred if I use lunch) I get an unusual error, something that has to do with Audio Polices.
I have tried reinstalling Ubuntu (I'm using 18.04.3) and doing everything from scratch, but the error remains.
The device tree should be fine, since I have compiled the same ROM before with the same device tree, kernel and vendor.
kirk#kirk-dev:~/android/system$ brunch aosp_clover-userdebug
including vendor/aosp/vendorsetup.sh
Trying dependencies-only mode on a non-existing device tree?
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=9
CUSTOM_VERSION=PixelExperience_clover-9.0-20190812-0627-UNOFFICIAL
TARGET_PRODUCT=aosp_clover
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=kryo
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.0.0-23-generic-x86_64-Ubuntu-18.04.3-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=PQ3A.190705.003
OUT_DIR=/home/kirk/android/system/out
PRODUCT_SOONG_NAMESPACES= hardware/qcom/audio-caf/msm8998 hardware/qcom/display-caf/msm8998 hardware/qcom/media-caf/msm8998
============================================
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=9
CUSTOM_VERSION=PixelExperience_clover-9.0-20190812-0627-UNOFFICIAL
TARGET_PRODUCT=aosp_clover
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=kryo
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.0.0-23-generic-x86_64-Ubuntu-18.04.3-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=PQ3A.190705.003
OUT_DIR=/home/kirk/android/system/out
PRODUCT_SOONG_NAMESPACES= hardware/qcom/audio-caf/msm8998 hardware/qcom/display-caf/msm8998 hardware/qcom/media-caf/msm8998 hardware/qcom/audio-caf/msm8998 hardware/qcom/display-caf/msm8998 hardware/qcom/media-caf/msm8998
============================================
ninja: no work to do.
ninja: no work to do.
Environment variable PATH was modified (/home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/out/soong/host/linux-x86/bin:/home/kirk/android/system/out/host/linux-x86/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin:/home/kirk/android/system/development/scripts:/home/kirk/android/system/prebuilts/devtools/tools:/home/kirk/android/system/external/selinux/prebuilts/bin:/home/kirk/android/system/prebuilts/misc/linux-x86/dtc:/home/kirk/android/system/prebuilts/misc/linux-x86/libufdt:/home/kirk/android/system/prebuilts/android-emulator/linux-x86_64:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin => /home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/out/soong/host/linux-x86/bin:/home/kirk/android/system/out/host/linux-x86/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin:/home/kirk/android/system/development/scripts:/home/kirk/android/system/prebuilts/devtools/tools:/home/kirk/android/system/external/selinux/prebuilts/bin:/home/kirk/android/system/prebuilts/misc/linux-x86/dtc:/home/kirk/android/system/prebuilts/misc/linux-x86/libufdt:/home/kirk/android/system/prebuilts/android-emulator/linux-x86_64:/home/kirk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin), regenerating...
Environment variable PATH was modified (/home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/out/soong/host/linux-x86/bin:/home/kirk/android/system/out/host/linux-x86/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin:/home/kirk/android/system/development/scripts:/home/kirk/android/system/prebuilts/devtools/tools:/home/kirk/android/system/external/selinux/prebuilts/bin:/home/kirk/android/system/prebuilts/misc/linux-x86/dtc:/home/kirk/android/system/prebuilts/misc/linux-x86/libufdt:/home/kirk/android/system/prebuilts/android-emulator/linux-x86_64:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin => /home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/prebuilts/jdk/jdk9/linux-x86/bin:/home/kirk/android/system/out/soong/host/linux-x86/bin:/home/kirk/android/system/out/host/linux-x86/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin:/home/kirk/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin:/home/kirk/android/system/development/scripts:/home/kirk/android/system/prebuilts/devtools/tools:/home/kirk/android/system/external/selinux/prebuilts/bin:/home/kirk/android/system/prebuilts/misc/linux-x86/dtc:/home/kirk/android/system/prebuilts/misc/linux-x86/libufdt:/home/kirk/android/system/prebuilts/android-emulator/linux-x86_64:/home/kirk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin), regenerating...
[539/961] including system/sepolicy/Android.mk ...
system/sepolicy/Android.mk:88: warning: Be careful when using the SELINUX_IGNORE_NEVERALLOWS flag. It does not work in user builds and using it will not stop you from failing CTS.
[961/961] including vendor/xiaomi/sdm660-common/Android.mk ...
build/make/core/Makefile:28: warning: overriding commands for target `/home/kirk/android/system/out/target/product/clover/vendor/lib64/hw/fingerprint.default.so'
build/make/core/base_rules.mk:412: warning: ignoring old commands for target `/home/kirk/android/system/out/target/product/clover/vendor/lib64/hw/fingerprint.default.so'
[ 0% 290/84433] target thumb C++: libaudiopolicymanager_32 <= vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp
FAILED: /home/kirk/android/system/out/target/product/clover/obj_arm/SHARED_LIBRARIES/libaudiopolicymanager_intermediates/AudioPolicyManager.o
/bin/bash -c "PWD=/proc/self/cwd prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ -I frameworks/av/services -I frameworks/av/services/audioflinger -I system/media/audio_effects/include -I system/media/audio_utils/include -I frameworks/av/services/audiopolicy/common/include -I frameworks/av/services/audiopolicy/engine/interface -I frameworks/av/services/audiopolicy -I frameworks/av/services/audiopolicy/common/managerdefinitions/include -I vendor/qcom/opensource/audio/policy_hal -I /home/kirk/android/system/out/target/product/clover/obj_arm/SHARED_LIBRARIES/libaudiopolicymanager_intermediates -I /home/kirk/android/system/out/target/product/clover/gen/SHARED_LIBRARIES/libaudiopolicymanager_intermediates -I libnativehelper/include_jni \$(cat /home/kirk/android/system/out/target/product/clover/obj_arm/SHARED_LIBRARIES/libaudiopolicymanager_intermediates/import_includes) -I system/core/include -I system/media/audio/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I libnativehelper/include -I frameworks/native/include -I frameworks/native/opengl/include -I frameworks/av/include -isystem bionic/libc/include -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/uapi/asm-arm -isystem bionic/libc/kernel/android/scsi -isystem bionic/libc/kernel/android/uapi -c -fomit-frame-pointer -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-expansion-to-defined -Wno-zero-as-null-pointer-constant -fdebug-prefix-map=\$PWD/= -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=date-time -Werror=format-security -nostdlibinc -msoft-float -march=armv8-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -D__ARM_FEATURE_LPAE=1 -target arm-linux-androideabi -Bprebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/bin -Wsign-promo -Wno-inconsistent-missing-override -Wno-null-dereference -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Wno-thread-safety-negative -Wno-gnu-include-next -fvisibility-inlines-hidden -std=gnu++14 -mthumb -Os -fno-rtti -Wall -Werror -DPCM_OFFLOAD_ENABLED -DPCM_OFFLOAD_ENABLED_24 -DAUDIO_EXTN_FORMATS_ENABLED -DAAC_ADTS_OFFLOAD_ENABLED -DAUDIO_EXTN_HDMI_SPK_ENABLED -DAUDIO_EXTN_AFE_PROXY_ENABLED -DUSE_XML_AUDIO_POLICY_CONF -DCOMPRESS_VOIP_ENABLED -fPIC -D_USING_LIBCXX -DANDROID_STRICT -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-null-pointer-arithmetic -Wno-enum-compare -Wno-enum-compare-switch -MD -MF /home/kirk/android/system/out/target/product/clover/obj_arm/SHARED_LIBRARIES/libaudiopolicymanager_intermediates/AudioPolicyManager.d -o /home/kirk/android/system/out/target/product/clover/obj_arm/SHARED_LIBRARIES/libaudiopolicymanager_intermediates/AudioPolicyManager.o vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp"
vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp:2240:65: error: member reference type 'android::AudioMix *' is a pointer; did you mean to use '->'?
sp<AudioPolicyMix> policyMix = inputDesc->mPolicyMix.promote();
~~~~~~~~~~~~~~~~~~~~~^
->
vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp:2240:66: error: no member named 'promote' in 'android::AudioMix'
sp<AudioPolicyMix> policyMix = inputDesc->mPolicyMix.promote();
~~~~~~~~~~~~~~~~~~~~~ ^
vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp:2243:37: error: no member named 'mCbFlags' in 'android::AudioPolicyMix'
&& ((policyMix->mCbFlags & AudioMix::kCbFlagNotifyActivity) != 0)) {
~~~~~~~~~ ^
vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp:2244:77: error: no member named 'mDeviceAddress' in 'android::AudioPolicyMix'
mpClientInterface->onDynamicPolicyMixStateUpdate(policyMix->mDeviceAddress,
~~~~~~~~~ ^
vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp:2265:39: error: no member named 'mMixType' in 'android::AudioPolicyMix'
} else if (policyMix->mMixType == MIX_TYPE_PLAYERS) {
~~~~~~~~~ ^
vendor/qcom/opensource/audio/policy_hal/AudioPolicyManager.cpp:2266:42: error: no member named 'mDeviceAddress' in 'android::AudioPolicyMix'
address = policyMix->mDeviceAddress;
~~~~~~~~~ ^
6 errors generated.
[ 0% 299/84433] target C++: netutils-wrapper-1.0 <= system/netd/netutils_wrappers/NetUtilsWrapper-1.0.cpp
ninja: build stopped: subcommand failed.
09:31:14 ninja failed with: exit status 1
#### failed to build some targets (03:41 (mm:ss)) ####
I had the same error yesterday.
And I reverted the codes from here.
By now I haven't faced any issue.
Simply change every "policyMix" to "inputDesc->mPolicyMix" in AudioPolicyManager.cpp file.
[UPDATE]
PE just updated their code, resync the repo might help.

Critical error: Not enough arguments are passed to the wrapper, when loading my xfce plugin

I've written one very simple xfce panel plugin snippet:
#include <gtk/gtk.h>
#include <libxfce4panel/xfce-panel-plugin.h>
static void system_monitor_construct(XfcePanelPlugin *plugin);
XFCE_PANEL_PLUGIN_REGISTER(system_monitor_construct);
static void system_monitor_construct(XfcePanelPlugin *plugin)
{
GtkWidget *hvbox;
GtkWidget *label;
GtkOrientation orientation;
orientation = xfce_panel_plugin_get_orientation (plugin);
hvbox = xfce_hvbox_new (orientation, FALSE, 2);
gtk_widget_show(hvbox);
gtk_container_add (GTK_CONTAINER (plugin), hvbox);
label = gtk_label_new ("Hello GNOME!");
gtk_container_add (GTK_CONTAINER (hvbox), GTK_WIDGET (label));
gtk_widget_show(label);
}
compiled it with:
gcc -Wall -shared -o libtest.so -fPIC main.c `pkg-config --cflags --libs libxfce4panel-1.0` `pkg-config --cflags --libs gtk+-2.0`
copy libtest.so to /usr/lib/xfce4/panel-plugins, and create desktop file test.desktop in /usr/share/xfce4/panel-plugins with the contents:
[Xfce Panel]
Type=X-XFCE-PanelPlugin
Encoding=UTF-8
Name=test
X-XFCE-Module=test
X-XFCE-Module-Path=/usr/lib/xfce4/panel-plugins
When I loading this plugin, I got:
(process:5700): xfce4-panel-wrapper-CRITICAL **: Not enough arguments are passed to the wrapper
xfce4-panel(external): test-8: child exited with status 512
(xfce4-panel:5695): xfce4-panel-WARNING **: Plugin test-8 exited with status 2, removing from panel configuration
xfce4-panel(external): test-8: plugin unrealized; quiting child
xfce4-panel(application): saving /panels/panel-2: ids=true, providers=false
(xfce4-panel:5695): GLib-CRITICAL **: g_child_watch_add_full: assertion 'pid > 0' failed
(xfce4-panel:5695): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkObject'
(xfce4-panel:5695): exo-CRITICAL **: IA__exo_gtk_object_destroy_later: assertion 'GTK_IS_OBJECT (object)' failed
Where am I wrong? or What things I've missed?
After try and try... This problem is caused by missing of Comment entry in desktop file.

Compiling OpenCV source code to Matlab

I am trying to compile a C++ code in Matlab. The source code uses the OpenCV library.
when I write:
mex myfile.cpp
I get the following Error:
fatal error C1083: Cannot open include file: 'opencv2/opencv.hpp' No such file or directory
I am using Matlab r2012b and have Visual c++ 2010 express on windows 7.
Is there please any solution for this?
Thank you.
Edit: I did the following but get another error:
mex -v -largeArrayDims Calib.cpp -I"C:\opencv\build\include" ...
-L"C:\opencv\build\x86\vc10\lib" -lopencv_calib3d240d -lopencv_core240d ...
-lopencv_highgui240d -lopencv_imgproc240d -llibCam
-> Default options filename found in C:\Users\Ali\AppData\Roaming\MathWorks\MATLAB\R2012b
----------------------------------------------------------------
-> Options file = C:\Users\Ali\AppData\Roaming\MathWorks\MATLAB\R2012b\mexopts.bat
MATLAB = C:\Programmes\MATLAB\R2012b
-> COMPILER = cl
-> Compiler flags:
COMPFLAGS = /c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD
OPTIMFLAGS = /O2 /Oy- /DNDEBUG
DEBUGFLAGS = /Z7
arguments = -IC:\opencv\build\include
Name switch = /Fo
-> Pre-linking commands =
-> LINKER = link
-> Link directives:
LINKFLAGS = /dll /export:mexFunction /LIBPATH:"C:\Programmes\MATLAB\R2012b\extern\lib\win32\microsoft" libmx.lib libmex.lib libmat.lib /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /manifest /incremental:NO /implib:"C:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\templib.x" /MAP:"Calib.mexw32.map"
LINKDEBUGFLAGS = /debug /PDB:"Calib.mexw32.pdb"
LINKFLAGSPOST =
Name directive = /out:"Calib.mexw32"
File link directive =
Lib. link directive =
Rsp file indicator = #
-> Resource Compiler = rc /fo "mexversion.res"
-> Resource Linker =
----------------------------------------------------------------
--> cl -IC:\opencv\build\include /c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD /FoC:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\Calib.obj -IC:\Programmes\MATLAB\R2012b\extern\include -IC:\Programmes\MATLAB\R2012b\simulink\include /O2 /Oy- /DNDEBUG Calib.cpp
Calib.cpp
Contents of C:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\mex_tmp.rsp:
C:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\Calib.obj
--> link /out:"Calib.mexw32" /dll /export:mexFunction /LIBPATH:"C:\Programmes\MATLAB\R2012b\extern\lib\win32\microsoft" libmx.lib libmex.lib libmat.lib /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /manifest /incremental:NO /implib:"C:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\templib.x" /MAP:"Calib.mexw32.map" #C:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\mex_tmp.rsp C:\opencv\build\x86\vc10\lib\libCam.lib
C:\opencv\build\x86\vc10\lib\opencv_calib3d240d.lib C:\opencv\build\x86\vc10\lib\opencv_core240d.lib C:\opencv\build\x86\vc10\lib\opencv_highgui240d.lib C:\opencv\build\x86\vc10\lib\opencv_imgproc240d.lib
LINK : error LNK2001: symbole externe non résolu mexFunction
C:\Users\Ali\AppData\Local\Temp\mex_LVNr2V\templib.x : fatal error LNK1120: 1 externes non résolus
C:\PROGRA~3\MATLAB\R2012B\BIN\MEX.PL: Error: Link of 'Calib.mexw32' failed.
Error using mex (line 206)
Unable to complete successfully.
You should add include flags and linking libraries to the command line. That is,
mex myfile.cpp -I header_path -l opencv_libraries
Please try:
mex -largeArrayDims Calib.cpp -IC:\opencv\build\include -LC:\opencv\build\x86\vc10\lib...
-l opencv_calib3d240d -l opencv_core240d -l opencv_highgui240d -l opencv_imgproc240d
BTW, is there a special reason why you link with the opencv_< >d.lib rather than opencv_< >.lib files?