[resolved] Raspberry compile issue: ofEvent.h: expected unqualified-id before ‘=’ token

I’ve seen the discussion about X11 claiming certain global variable names and this conflicting with of. Not sure if this is the same issue but I have not found a workaround for this attempt to compile on Raspberry Pi (RPi4 raspbian/raspberrypios bullseye 32). The basic examples compile, issue arrises when trying to compile some ofx’s include the ofxFileDialog shown below

/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release\
libs/openFrameworks/events/ofEvent.h:54:7:
  error: expected unqualified-id before ‘=’ token
54 |    id = nextId++;

ofEvent.h is a bit too complex for me to simply change id to ofId sed -i 's/\<id\>/ofId/'

Does anyone have other recommendations?

Here is full compile cmd if interested:

g++ -c -O3 -DNDEBUG -Wall -Werror=return-type -DGCC_HAS_REGEX -march=armv6 \
 -mfpu=vfp -mfloat-abi=hard -fPIC -ftree-vectorize -Wno-psabi -pipe -DOF_USING_GTK \
 -DTARGET_RASPBERRY_PI -DTARGET_GLFW_WINDOW -DSTANDALONE \
 -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX \
 -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -DUSE_EXTERNAL_OMX \
 -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM \
 -Wall -Werror=return-type -std=c++14 -DGCC_HAS_REGEX \
  -I/opt/vc/include \
  -I/opt/vc/include/IL \
  -I/opt/vc/include/interface/vcos/pthreads \
  -I/opt/vc/include/interface/vmcs_host/linux -pthread -D__LINUX_ALSA__ -D__LINUX_PULSE__ -D__UNIX_JACK__ -D_REENTRANT -pthread \
  -I/usr/include/gstreamer-1.0 \
  -I/usr/include/orc-0.4 \
  -I/usr/include/gstreamer-1.0 \
  -I/usr/include/arm-linux-gnueabihf \
  -I/usr/include/opus \
  -I/usr/include/AL \
  -I/usr/include/arm-linux-gnueabihf \
  -I/usr/include/rtaudio \
  -I/usr/include/gtk-2.0 \
  -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include \
  -I/usr/include/pango-1.0 \
  -I/usr/include/atk-1.0 \
  -I/usr/include/gdk-pixbuf-2.0 \
  -I/usr/include/pango-1.0 \
  -I/usr/include/libmount \
  -I/usr/include/blkid \
  -I/usr/include/fribidi \
  -I/usr/include/cairo \
  -I/usr/include/pixman-1 \
  -I/usr/include/harfbuzz \
  -I/usr/include/glib-2.0 \
  -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include \
  -I/usr/include/uuid \
  -I/usr/include/freetype2 \
  -I/usr/include/libpng16 \
  -I/usr/include/opencv4 \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include/glm \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include/glm/gtx \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include/glm/gtc \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include/glm/ext \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include/glm/detail \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/glm/include/glm/simd \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/json/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/kiss/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/tess2/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/utf8/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/utf8/include/utf8 \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/events \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/graphics \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/3d \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/types \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/app \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/utils \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/gl \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/math \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/video \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/sound \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/libs/openFrameworks/communication -pthread -D__LINUX_ALSA__ -D__LINUX_PULSE__ -D__UNIX_JACK__ -D_REENTRANT -pthread \
  -I/usr/include/gstreamer-1.0 \
  -I/usr/include/orc-0.4 \
  -I/usr/include/gstreamer-1.0 \
  -I/usr/include/arm-linux-gnueabihf \
  -I/usr/include/opus \
  -I/usr/include/AL \
  -I/usr/include/arm-linux-gnueabihf \
  -I/usr/include/rtaudio \
  -I/usr/include/gtk-2.0 \
  -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include \
  -I/usr/include/pango-1.0 \
  -I/usr/include/atk-1.0 \
  -I/usr/include/gdk-pixbuf-2.0 \
  -I/usr/include/pango-1.0 \
  -I/usr/include/libmount \
  -I/usr/include/blkid \
  -I/usr/include/fribidi-I/usr/include/cairo \
  -I/usr/include/pixman-1 \
  -I/usr/include/harfbuzz \
  -I/usr/include/glib-2.0 \
  -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include \
  -I/usr/include/uuid \
  -I/usr/include/freetype2 \
  -I/usr/include/libpng16 \
  -I/usr/include/opencv4 \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxBlackmagic/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxBlackmagic/libs \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxBlackmagic/libs/DeckLink \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxBlackmagic/libs/DeckLink/Linux \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxBlackmagic/libs/DeckLink/Linux/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxBlackmagic/libs/DeckLink/Linux/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOpenCv/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxCv/libs/ofxCv/include \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxCv/libs/CLD/include/CLD \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxCv/src \
  -Isrc \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxFileDialog/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxGui/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMSAInteractiveObject/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMSATimer/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMidi/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMidi/src/ios \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMidi/src/desktop \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMidi/libs \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMidi/libs/rtmidi \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxMidi/libs/pgmidi \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs/oscpack \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs/oscpack/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs/oscpack/src/osc \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs/oscpack/src/ip \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs/oscpack/src/ip/posix \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxOsc/libs/oscpack/src/ip/win32 \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxPoco/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxTween/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxTween/src/Easings \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxXmlSettings/src \
  -I/home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxXmlSettings/libs \
  -MMD -MP -MF /home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/obj/linuxarmv6l/Release/ofxFileDialog/src/ofxFileDialogMac.d \
  -MT /home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/obj/linuxarmv6l/Release/ofxFileDialog/src/ofxFileDialogMac.o \
  -o /home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/obj/linuxarmv6l/Release/ofxFileDialog/src/ofxFileDialogMac.o \
  -c /home/pi/src/openframeworks/of_v0.11.2_linuxarmv6l_release/addons/ofxFileDialog/src/ofxFileDialogMac.mm

This specific issue was the ofxFileDialog addon was built for mac with perhaps less testing on linux and rapsberrypi. so removing the src/ofxFileDialogMac.mm file resolves this issue.

If for some reason on pi you had other expected unqualified-id before ‘=’ token errors perhaps it is worth knowing I was able to sidestep each of those by manually compiling each ofx. Meaning the issue only appeared when trying to make through the OF Makefile but didn’t have issue when manually copy+pasting the failed compile command and running manually

1 Like

Great. is this .mm file part of an addon?
In this case I think it can be configured to be part of exclusions in a specific platform