Cant compile sketch for Arduino/Genuino Micro

Arduino: 1.8.5 (Mac OS X), Board: "Arduino/Genuino Micro"

Archiving built core (caching) in: /var/folders/t7/kjjttdzd0bj_k5xc50mrphm00000gn/T/arduino_cache_604985/core/core_arduino_avr_micro_02eeac5a6041dae56a1ad6e362716149.a
/var/folders/t7/kjjttdzd0bj_k5xc50mrphm00000gn/T//ccsVZVJZ.ltrans0.ltrans.o: In function main': /private/var/folders/t7/kjjttdzd0bj_k5xc50mrphm00000gn/T/AppTranslocation/555D6DE9-51CE-4F39-86C3-6691B23BFAC8/d/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/main.cpp:43: undefined reference to setup'
/private/var/folders/t7/kjjttdzd0bj_k5xc50mrphm00000gn/T/AppTranslocation/555D6DE9-51CE-4F39-86C3-6691B23BFAC8/d/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/main.cpp:46: undefined reference to `loop'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino/Genuino Micro.

What is the problem and how do I fix it?

Every sketch must contain a setup and a loop function, even if those functions are left empty.

(deleted)

If you think you do have those functions, you probably messed up the curly braces somewhere - if you don't put a closing curly brace on a function, often the final complaint is an undefined reference to functions defined after it. Use ctrl+T to format it such that it's easier to see problems.