Can't take it anymore. Why is developing such a pain?

Started by
38 comments, last by DrEvil 16 years, 7 months ago
Quote:
Is it asked to much that I just want to compile my code into a single .exe file that will run on every PC?

Personally, I find that the Eclipse IDE combined with GCC G++ allows me to use C++ Std Library-compliant code on just about any operating system I need. I presently use OSX, WinXP (trying Vista soon) and Linux (32 and 64 bit architectures). Linux 64 bit is my main development platform. IMHO, it is possible to write once and use on multiple platforms in C++, once you get the gist of it. You just have to stick with it and keep grinding. You'll get there.

To me, the biggest problem with C++ is that there are so many different ways to solve a problem, whereas finding the optimal way is an art combined with experience. That's another advantage in learning to use the Std Library early on, it helps you to think about problems in more optimal ways.

--random
--random_thinkerAs Albert Einstein said: 'Imagination is more important than knowledge'. Of course, he also said: 'If I had only known, I would have been a locksmith'.
Advertisement
Quote:Secondly: Suddenly I can't run most of my own apps anymore. I always get messages like "MSVCP90D.DLL is missing, bla bla". But of course that's not true. I found multiple instances of this DLL on my computer.

It isn't required to be SOMEWHERE, but in the path you told the linker at compile time ( or $WINDIR/system32 for windows xp if you didn't pass it )

Quote:
Thirdly: My apps never work on other computers than mine. There's always strange messages that say: "The application configuration is incorrect...." or something like that.

Let's try less agressive and architecture-specific optimization flags then

Quote:
Fourthly: I read about CLR-DLLS, Debug DLLs, Manifest files and other strange stuff everywhere on the internet. What's all this about? Why do I need this crap?

Debug DLLs have debug statements. How have you been developing software the last 6 years? Never debugged?

Quote:
Is it asked to much that I just want to compile my code into a single .exe file that will run on every PC?

gcc `cat project_files.txt` -o main. Other than that... java LOL?

Quote:
Ok, I admit that I'm having a big lack of knowledge here that makes my life so hard ;-)
Is there some good literature that can teach me how to deal with the problems mentioned above? All my GameDev and C++ books don't handly stuff like this.....

MSDN like others allready said.
Thank's for sharing your thoughts with me! :-)

OK, at first I tried to solve the

"Suddenly I can't run most of my own apps anymore. I always get messages like "MSVCP90D.DLL is missing, bla bla". But of course that's not true. I found multiple instances of this DLL on my computer."

Problem. So I compiled my game in RELEASE mode, and set the Runtime-Library compiler option to "Multi-threaded DLL (/MD)". Then I tried to run it. The error is still the same.
Then I opened the exe with DependancyWalker, which immediately complained the two files MSVCP90D.DLL and MSVCR90D.DLL were missing.
What I don't understand: I have VS installed, so both libraries should be there (some other apps work fine!).
But more important: doesn't the D at the end mean these are debug DLLs? Why is my game linked to debug DLLs if I compile it in release mode?


So I need your help, almighty gurus! :-D
Quote:Original post by VanKurt
Then I opened the exe with DependancyWalker, which immediately complained the two files MSVCP90D.DLL and MSVCR90D.DLL were missing.


Copy both of those from wherever you found them to the C:\WINDOWS\SYSTEM32 folder. Then, any application should be able to find them.
Even if this worked - why does the game need those DLLs in the first place? I thought those were debug DLLs?
Dependency Walker will show you which part of your program requires them.
Quote:Original post by VanKurt
Even if this worked - why does the game need those DLLs in the first place? I thought those were debug DLLs?

These are C/C++ runtime DLLs. The .exe you are running is probably a debug build, therefor the debug DLLs are used. If you were to run a release build the release DLLs would be needed (same filename without the D at the end IIRC).

I would suggest that you statically link to the C/C++ runtime. This way you don't need those DLLs at all and more importantly don't need distibute them with you application.

Project->Properties->C/C++->Code Generation->Runtime Library
Set this to "Multi-threaded Debug (/MTd)" for the debug config and to "Multi-threaded (/MT)" for the release config.
Quote:Original post by Oluseyi
Quote:Original post by VanKurt
Is it asked to much that I just want to compile my code into a single .exe file that will run on every PC?

Yes, it's too much to ask. This isn't 1968.


Good, because PCs didn't exist back in 1968. We didn't even have portable electronic calculators until the mid to late 1970s and those were LED based and the size of an unabridged dictionary.

ADDENDUM: Unless you're talking about the Altair.

ADDENDUM: Not even the Altair 8800, because that didn't come out until 1974-75.
Quote:Original post by VanKurt
Even if this worked - why does the game need those DLLs in the first place? I thought those were debug DLLs?

Perhaps one of the libraries you're using is set to debug mode?
NextWar: The Quest for Earth available now for Windows Phone 7.
Quote:Original post by VanKurt
Is it asked to much that I just want to compile my code into a single .exe file that will run on every PC?


I've found Borland's Delphi to be a great tool that allows you to do this. I haven't used it since version 6, but if it still works the way it did then, you could easily compile most applications into a single exe and not have to worry about distributing run times, etc.

This topic is closed to new replies.

Advertisement