Compiling OpenCV source code to Matlab - 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?

Related

finished with non-zero exit value 4

An error occurred while building the apk, how can I fix it?
Error: Unity.IL2CPP.Building.BuilderFailedException: C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ #"C:\Users\Administrator\AppData\Local\Temp\tmpAABC.tmp" -o "E:\testArabic\unityLibrary\build\il2cpp_armeabi-v7a_Release\il2cpp_cache\linkresult_D469FBEED00B862A759E3E8D5369FD17\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id -stdlib=libc++ -static-libstdc++ -target armv7-linux-androideabi19 -Wl,--wrap,sigaction "E:\testArabic\unityLibrary\src\main\jniStaticLibs\armeabi-v7a\baselib.a" -llog -rdynamic -fuse-ld=gold.exe
clang++: error: invalid linker name in argument '-fuse-ld=gold.exe'
at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet1 objectFiles, CppToolChainContext toolChainContext) at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics) at il2cpp.Compilation.CompilationDriver.Run(RuntimePlatform platform, BuildingOptions buildingOptions, ReadOnlyCollection1 matchedAssemblyMethodSourceFiles)
at il2cpp.Program.DoRun(String[] args, RuntimePlatform platform, BuildingOptions buildingOptions, Boolean throwExceptions)
Unity.IL2CPP.Building.BuilderFailedException: C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ #"C:\Users\Administrator\AppData\Local\Temp\tmpAABC.tmp" -o "E:\testArabic\unityLibrary\build\il2cpp_armeabi-v7a_Release\il2cpp_cache\linkresult_D469FBEED00B862A759E3E8D5369FD17\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id -stdlib=libc++ -static-libstdc++ -target armv7-linux-androideabi19 -Wl,--wrap,sigaction "E:\testArabic\unityLibrary\src\main\jniStaticLibs\armeabi-v7a\baselib.a" -llog -rdynamic -fuse-ld=gold.exe
Task :unityLibrary:BuildIl2CppTask FAILED

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.

strawberry perl module installation undefined reference

I am running Windows7 and Strawberry Perl 5.26.0.1
I try to install:
cpan Math::Random::MTwist
"C:\Perl64\strawberry\perl\bin\perl.exe" -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"Math::Random::MTwist\", 'DLBASE' => 'MTwist', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
g++ MTwist.def -o blib\arch\auto\Math\Random\MTwist\MTwist.xs.dll -mdll -s -L"C:\Perl64\STRAWB~1\perl\lib\CORE" -L"C:\Perl64\STRAWB~1\c\lib" MTwist.o "C:\Perl64\STRAWB~1\perl\lib\CORE\libperl526.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base
MTwist.o:MTwist.c:(.text+0x15): undefined reference to `_imp__Perl_get_context'
MTwist.o:MTwist.c:(.text+0x59): undefined reference to `_imp__Perl_sv_2pv_flags'
...
MTwist.o:MTwist.c:(.text+0x6ce2): undefined reference to `_imp__Perl_xs_boot_epilog'
collect2: ld returned 1 exit status
gmake: *** [Makefile:490: blib\arch\auto\Math\Random\MTwist\MTwist.xs.dll] Error 1
-> FAIL Installing Math::Random::MTwist failed. See C:\Users\mschmidt\.cpanm\work\1500562766.20452\build.log for details. Retry with --force to force install it.
Any ideas what goes wrong?