# Felix Queißner - Zig Build Explained - Part 2 (Highlights) ![rw-book-cover|256](https://zig.news/images/8WiAHBhY18xdFemhiJsypp5zcW1cF68yQVJf0qtEhWs/rs:fill:1000:500/g:sm/mb:500000/ar:1/aHR0cHM6Ly96aWcu/bmV3cy91cGxvYWRz/L2FydGljbGVzLzU5/aXp1bDlpMzJxdjV0/d3RjdWc3LnBuZw) ## Highlights - exe.linkLibC(); ([View Highlight](https://read.readwise.io/read/01ka10n6ev9q5r0703755xd8c0)) ^957323221 `linkLibC` will setup header include paths - We only covered C files until now, but building a C++ project isn't much harder. You still use `addCSourceFile`, but just pass a file that has a typical C++ file extension like `cpp`, `cxx`, `c++` or `cc` ([View Highlight](https://read.readwise.io/read/01ka10rt9stnw8n7edn12smejg)) ^957323360 - As you can see, we also need to call `linkLibCpp` which will link the c++ standard library shipped with Zig. ([View Highlight](https://read.readwise.io/read/01ka10s1c82ywy6bay6wsx4205)) ^957323364 - With `defineCMacro` we can define our own macros like we pass them with the `-D` compiler flag. ([View Highlight](https://read.readwise.io/read/01ka10thg29j3w2f5j3msv4zam)) ^957323425 - We then just have to call `addCSourceFiles` once per file collection and are ready to rock. ([View Highlight](https://read.readwise.io/read/01ka10w00zdsdhst173z2g65k2)) ^957323479 - Zig does not only support building C and C++, but also supports building Objective C via clang! ([View Highlight](https://read.readwise.io/read/01ka10wbga13jcgv9fv1rwaq00)) ^957323534 - The entry point of your application **must** be in Zig code right now ([View Highlight](https://read.readwise.io/read/01ka10xb1m79d88y4rdztzzny1)) ^957323551