Take a few entries one a time and discover:
For example, the first declared function in portaudio.h is Ps_GetVersion()
It is only a declaration, not a definition. Searching the directory for the text I find the definition is written in pa_front.c, and as I'd expect a few other functions are defined there.
pa_front.c is in a directory called src, which is typical of many projects. This means the source files, which contain the definitions, are probably all located there.
Have you done anything which would compiles these files so the linker would find them?
Have you followed the build instructions in the documentation?
Normally if the program and the header are located in the same directory...
|
That's part of the problem, this isn't true. The include directory contains only the header files but few if any definitions. Depending on the documentation's instructions, there may be project or make files you need to process in order to build the appropriate library (perhaps a static library, I haven't reviewed).
For example, I downloaded the project for a quick look and found that in the build directory there are solution files for Visual Studio, which define the project for building.
It is important to build according to the instructions particularly for a library like this because it is portable, intended for many operating systems, and the build is configured for a particular target.
It appears they have support for CMake, so depending on your compiler and platform target(s), you may be best advised to use CMake for building.