On Wed, Nov 25, 2009 at 9:22 PM, Thomas Rieck <[email protected]> wrote:
> I have a specific question about lib/cdio++/cdio.cpp. > I am unable to compile this file, This doesn't make much sense to me. Generally one doesn't compile that file but includes it from inside another file. because it's looking for <stdint.h> > definitions. > Hmm. I looked at cdio.cpp and I am not exactly sure what there refers to <stdint.h>. For example, I don't see any references to unint32 or UINT32_MAX. > > Why doesn't the module contain : > > #ifdef HAVE_CONFIG_H > # include "config.h" > #endif > Generally, I don't think it is accepted practice for installed headers to refer to something outside of the installed space. That is, generally they don't refer to names enclosed in ""; rather include names are enclosed in <>. So what we have previously done in libcdio is to put a part of config.h which is generated at configuration time, into a file called cdio_config.h. Installed headers then refer to this via <cdio/cdio_config.h>. I'll guess that what you are trying to do is start with an example C++ program, put it outside of the libcdio source tree and compile it. If so, this is a perfectly reasonable thing to do. And I will guess that in that process you have noticed that the example programs all refer to "config.h" which can't be found. If you want to work off a distributed version of libcdio, change #include "config.h" to: #include <cdio/cdio_config.h> If you are willing to use the latest git sources to libcdio, I've made changes in the example programs and more importantly to the main cdio.h header that I think should make it easier for people to start with an example program. In the git sources, by simply including cdio.h it will now pull in <cdio/cdio_config.h> via an include that it has for <cdio/types.h>; other cdio files, like <cdio/iso9660.h>, do the same. > Thank you for your time. > > Tom Rieck >
