Can't use uvm macro in testbench

In reply to dave_59:

Thank you for your reply, Dave.
Yes, i know the difference between `include and import, and how they affect compilation, but how do the examples use these macros then, if they only have import of uvm_package, and nothing else? Or, maybe, examples i use were simply written uncorrectly?
Here’s the link to the code: https://github.com/pedro-araujo/uvm-testbench-tutorial-simple-adder
when i try to compile “simleadder_pkg.sv” i have an error from simpleadder_sequencer, that says, that macro is undefined. And, of course, this error disappears, when i add following line:

package simpleadder_pkg;
import uvm_pkg::*;
`include uvm_macros.svh //i add this line

`include “simpleadder_sequencer.sv”