Pajdeg  0.2.2
Pajdeg
Setting up

It's arguable whether a page dedicated to setting up is even necessary, but regardless. The first sections cover general instructions, followed by specific instructions, and last is a troubleshooting section. Right now, Xcode is the only example. If you have instructions for a different environment, please contribute!

Setting up

Pajdeg is meant to be included in some other project, either as a static library built e.g. using the included Makefile, or by inserting the .c and .h files directly into a project.

As a static library

Xcode

For Xcode (4.x), dragging the Pajdeg folder as is into an existing project is all you need to do (and add the libz framework, if necessary), but if Xcode suggests adding a build phase for the included Makefiles, you should skip that part as the files will compile fine as is.

Troubleshooting

Undefined symbols

If you get something like this:

Undefined symbols for architecture x86_64:
"_deflate", referenced from:
_fd_compress_proceed in libpajdeg.a(PDStreamFilterFlateDecode.o)
"_deflateEnd", referenced from:
_fd_compress_done in libpajdeg.a(PDStreamFilterFlateDecode.o)
"_deflateInit_", referenced from:
...
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

you forgot to include libz (-lz flag for GCC/LLDB, or the libz framework in Xcode or whatever IDE you're using).

If the function names are prefixed with PD or _PD, however, Pajdeg itself is not being linked into your executable correctly. (This may happen when developing iOS applications, if building Pajdeg inside of or as a sub-project, and neglecting to turn off Build Active Architecture Only for said sub-project.)