learning to work with SDKs and source code...
-
Hi all, I'm a newbie programmer, somewhat comfortable programming my own applications from scratch in Win32API or .NET. What I'm having trouble though, is understanding and working with other people's code, like various SDKs and source code widely available on the internet. I just don't know what to do after I unzip the file. :( For example, I'd download the source code of some open source application, unzip it in some directory, and notice that there's a bunch of directories, a bunch of project files, maybe a couple solution files, hundreds of .h files, hundreds of .c files and so on and so forth. Forgive my ignorance, but what on earth am I supposed to be doing with all this? I understand that I'd need to compile something, probably, but which project or which solution am I supposed to compile? If I pick a random one and compile it, I end up with a bunch of errors I am clueless about. and then what? I'd have to figure out how the program works, but with hundreds of files floating around, where do I begin? (assuming no helpful documentation...) I've learned to program mostly on my own, reading books and tutorials, but no books out there seem to talk about how to figure out stuff other's have written. Perhaps it's supposed to be obvious. Well, it isn't for me. Anyhow, I know that this forum is filled with experienced programmers, and they all must have had a transition from being able to program things on their own to being able to work with stuff other's have written. So if anyone could share their experience with learning how to do this, I'd be much indebted!
-
Hi all, I'm a newbie programmer, somewhat comfortable programming my own applications from scratch in Win32API or .NET. What I'm having trouble though, is understanding and working with other people's code, like various SDKs and source code widely available on the internet. I just don't know what to do after I unzip the file. :( For example, I'd download the source code of some open source application, unzip it in some directory, and notice that there's a bunch of directories, a bunch of project files, maybe a couple solution files, hundreds of .h files, hundreds of .c files and so on and so forth. Forgive my ignorance, but what on earth am I supposed to be doing with all this? I understand that I'd need to compile something, probably, but which project or which solution am I supposed to compile? If I pick a random one and compile it, I end up with a bunch of errors I am clueless about. and then what? I'd have to figure out how the program works, but with hundreds of files floating around, where do I begin? (assuming no helpful documentation...) I've learned to program mostly on my own, reading books and tutorials, but no books out there seem to talk about how to figure out stuff other's have written. Perhaps it's supposed to be obvious. Well, it isn't for me. Anyhow, I know that this forum is filled with experienced programmers, and they all must have had a transition from being able to program things on their own to being able to work with stuff other's have written. So if anyone could share their experience with learning how to do this, I'd be much indebted!
Hah you sound just like me a few years ago ... lots of ambition but no idea where to start. First off, lets get specific. What SDK's are you trying to install and use? Most of them have documentation located in the start menu under the title of your SDK. For example, if you install the DirectX9 SDK, right next to it on the start menu is a "DirectX Documentation for C++" which holds ALMOST every data type and method used by Direct X. Secondly, what compiler are you using? If using Visual Studio, most of the SDK's when installed actually add their info to the Help Index inside of the program. This allows you to search for specific topics, methods, or data types you will need in order to use the language. But you've got the right idea. Being a programmer means you have to read a lot, and sometimes you have to read things that aren't written too well. Reading the documentation will usually help you out exponentially, if you can find them heh. But let me know which compiler you're using and which SDK's you're trying to load up and I'll see if I have any more specific info for ya man. good luck jc0de
-
Hah you sound just like me a few years ago ... lots of ambition but no idea where to start. First off, lets get specific. What SDK's are you trying to install and use? Most of them have documentation located in the start menu under the title of your SDK. For example, if you install the DirectX9 SDK, right next to it on the start menu is a "DirectX Documentation for C++" which holds ALMOST every data type and method used by Direct X. Secondly, what compiler are you using? If using Visual Studio, most of the SDK's when installed actually add their info to the Help Index inside of the program. This allows you to search for specific topics, methods, or data types you will need in order to use the language. But you've got the right idea. Being a programmer means you have to read a lot, and sometimes you have to read things that aren't written too well. Reading the documentation will usually help you out exponentially, if you can find them heh. But let me know which compiler you're using and which SDK's you're trying to load up and I'll see if I have any more specific info for ya man. good luck jc0de
Haha, great assessment. lots of ambition but no idea where to start.. you got that right! My problem isn't so much using various funtions in the SDK, but rather compiling the source code and making sense of the numerous files and directories they usually come with. I've successfully written an audio header reader program for mp3, ogg, ape files, using dll / lib files I downloaded and functions that I looked up in the documentation. But take the Musepack (lossy audio codec) project for example. I downloaded the source code (http://www.musepack.net/index.php?pg=src), unzipped and placed it in a directory. Among the numerous files I'm unfamiliar with, I see a .sln file and open it, in VS.NET2003. But I get a couple error messages along the lines of "The project file 'C:... .dsp' has been corruped and cannot be opened". I ignore all these messages and build the solution, and end up with a bunch of errors. Some syntax errors, some complaining that a file doesn't exist, and indeed they don't exist! I searched for them but couldn't find them. I end up with a similar experience with the foobar2000 SDK (http://www.foobar2000.org/), projects that are supposedly corrupted, files that are missing, etc.. None of these seem to have any documentation on how to build the solutions, so I'm left clueless. I do wonder, however, why I would have to do anything in order to get them to compile in the first place. I wonder if I need to get a book specifically on using VisualStudio? Anyways, thanks so much for your help! It's much appreciated. :)
-
Haha, great assessment. lots of ambition but no idea where to start.. you got that right! My problem isn't so much using various funtions in the SDK, but rather compiling the source code and making sense of the numerous files and directories they usually come with. I've successfully written an audio header reader program for mp3, ogg, ape files, using dll / lib files I downloaded and functions that I looked up in the documentation. But take the Musepack (lossy audio codec) project for example. I downloaded the source code (http://www.musepack.net/index.php?pg=src), unzipped and placed it in a directory. Among the numerous files I'm unfamiliar with, I see a .sln file and open it, in VS.NET2003. But I get a couple error messages along the lines of "The project file 'C:... .dsp' has been corruped and cannot be opened". I ignore all these messages and build the solution, and end up with a bunch of errors. Some syntax errors, some complaining that a file doesn't exist, and indeed they don't exist! I searched for them but couldn't find them. I end up with a similar experience with the foobar2000 SDK (http://www.foobar2000.org/), projects that are supposedly corrupted, files that are missing, etc.. None of these seem to have any documentation on how to build the solutions, so I'm left clueless. I do wonder, however, why I would have to do anything in order to get them to compile in the first place. I wonder if I need to get a book specifically on using VisualStudio? Anyways, thanks so much for your help! It's much appreciated. :)
Well I've been programming on my own for a couple years, then at Full Sail for game design currently. Lots and lots of reading and testing with Visual Studio is imperitive to working with other peoples projects. Many of them include library files, include files, preprocessor directives, etc. which can be found in your project's properties and in the properties of Visual Studio itself. Just a note, the project's properties and Visual Studios properties are COMPLETELY seperate! Example: If you are required to add a library file to reference certain functions in a project you will have to tell Visual Studio where the library file is AND the project where the library file or you will get linker errors. Another example: I had to write a plug-in for maya using MEL and c++. The Maya C++ API has decent documentation but doesn't tell you all the files you need to include. I was constantly getting linker errors before a friend explained you have to have Maya linked to your program thru Visual Studio AND my project itself. But when it all boils down to it I would love to by a VS book myself because it's a very powerful tool and is almost a necessity to create quick and/or appealing projects. We also have been told at Full Sail that XnA the new compiler from Microsoft is supposed to encapsulate much of these third party libraries and make them easier to implement in your own projects. But that's just words at the moment. Anyways hopefully I helped a little, I consider myself a decent programmer and can create things I never could have imagined, but I read so much my eyes will probably fall out of my head by 30. heh. Good luck, j
-
Haha, great assessment. lots of ambition but no idea where to start.. you got that right! My problem isn't so much using various funtions in the SDK, but rather compiling the source code and making sense of the numerous files and directories they usually come with. I've successfully written an audio header reader program for mp3, ogg, ape files, using dll / lib files I downloaded and functions that I looked up in the documentation. But take the Musepack (lossy audio codec) project for example. I downloaded the source code (http://www.musepack.net/index.php?pg=src), unzipped and placed it in a directory. Among the numerous files I'm unfamiliar with, I see a .sln file and open it, in VS.NET2003. But I get a couple error messages along the lines of "The project file 'C:... .dsp' has been corruped and cannot be opened". I ignore all these messages and build the solution, and end up with a bunch of errors. Some syntax errors, some complaining that a file doesn't exist, and indeed they don't exist! I searched for them but couldn't find them. I end up with a similar experience with the foobar2000 SDK (http://www.foobar2000.org/), projects that are supposedly corrupted, files that are missing, etc.. None of these seem to have any documentation on how to build the solutions, so I'm left clueless. I do wonder, however, why I would have to do anything in order to get them to compile in the first place. I wonder if I need to get a book specifically on using VisualStudio? Anyways, thanks so much for your help! It's much appreciated. :)
psasidisrcum wrote: None of these seem to have any documentation on how to build the solutions, so I'm left clueless. Have you tried downloading & using samples from code project? Most of the authors seem more than willing to help guide someone through a little trouble (as long as the person has attempted to figure it out on their own). -------------------------------