Hi
i developed my program in win XP with SP2
i use this functions: mciSendString
mciGetErrorString
i #include this : #include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <string>
#include <mmsystem.h>
#include <Commdlg.h>
#include <fstream>
project .LIBs : WinMm.lib
ComDlg32.lib
and when i go to a WIn 98 computer it says to me that he need MSVCP80D.dll
wasnt c++ a stand alone program language

c++ program wont start
Randy J
i did changed thos DLL things.. switch between all of them.. and where do i compile a release version
Code generation possibilitis: Multi Threaded Debug Dll
Multi Thareded Debug
Multi Threaded DLL
Multi Threaded
which one exactly do you want me tt put
Sorry if its sounds stupid but where is the Release Version.. at c# apps i can make release versions but here on c++ emviremont i dont see it
Mike i just want tho give someone the applications.. and he just run it dont care if he hass C++ redistri..
REasley
i have a file actualy is made for multilanguage porpouse..
i can seem to get it write
bwechner
I saw that you put langs.txt file in the debug dir. Did you put it in the release dir If not it probably cannot open it.
TGirgenti
You should chose "Multi Threaded Debug" in the Debug version and "Multi Threaded" in the release version. In Project properties (where you change this option) you select between debug and release using the combo box that's at the left, top of that dialog (it's called Configuration).
You switch between a Debug and a Release build from the Standard Toolbar. There is a combo box to the right of the start button. If you don't find it go to the Build menu and select Configuration Manager and in the dialog that appears you have again a combobox in the top left corner called "Active solution configuration".
In fact it's similar with the C# option... I don't know why you don't see it.
MattMc3
Do you really read what I wrote
I told you that if you want to just copy the exe onto another machine withour installing vc_redist you can link the C runtime statically:
"1)Go to project properties, Configuration Properties, C/C++, Code Generation and see what runtime library you use. Probably you are using a DLL based one, choose an option that is not a dll. ".
Second I have told you to build a release version if you use vc_redist. There are different runtime libraries for debug and release mode and obviously vc_redist only install the release version. Debug version is only for developers, it's never redistributable.
I installed vc_redist on a clean XP and build your app in release mode and I get no "Application settings" error. However the program crashes. This seems to be cause by ReadLangs function that does some very strange things:
fstream f("lang.txt", ios::in);
+=buffer[j];
char buffer[70];
for(int i=0;i<15;i++)
{
f.getline(buffer, 100);
for(int j=0;j<70;j++)
{
if(buffer[j]!='#')
{
t
}
else
break;
}
}
You specify only a filename so it will try open the file from the current directory which is not necesarilly the same as the application directory that contains the lang.txt file.
You don't check if it really opened the file.
You use getline with a second parameter of 100 but your buffer is only 70 characters.
Mike Champion
Two options:
1)Go to project properties, Configuration Properties, C/C++, Code Generation and see what runtime library you use. Probably you are using a DLL based one, choose an option that is not a dll. For simple projects it should work fine altough not highly recomended.
2)Install this on the Win98 computer
http://www.microsoft.com/downloads/details.aspx FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en
and build a release version of your project. Debug version won't work.
Also you can read this article: http://msdn2.microsoft.com/en-us/library/ms235291.aspx
C/C++ is "standalone" in the sense it does necesarilly need a runtime/framework/virtual machine to run. It's native code that runs on the CPU. But the C/C++ language by itself only knows about if/for/do/while. Things like printf, fopen, stream are part of the runtime library which can be statically linked to the executable (option 1 above) or be present on the computer in a dll (option 2 above).
Tranzistors
it showes a error something with application settings.. and i shoudl reinstall
kef_c80
So... you placed that file in the release dir and it still crashes
Multilanguage support is usually done using resources. You add the strings to the resource file and then you retrieve a string using the LoadString API.
AustinStephens
cant i use string .. man its like crucial for me string class.. isnt there another way ..
funny thing thaton my computer everting works fine..
you can download my project and run it from here
mnlarsen
arent most of programs made in c/c++ that uses windows API`s andthey didnt ask for this.. how do they do it
TaDa
why do you say it makes strange things
it has a string array of 14 where the languages are stored.. and the second loop actually create each string from the array
tgorrie
I don't understand... you have installed VC redist on Windows XP and run the application and you get that error
Priyank001
Again couple of options:
1) Link the runtime statically as I suggeste above
2) Do not use any C/C++ runtime function (that means no printf, malloc/new, fopen, fstream, string etc.). Just use CreateFile, WriteFile, etc. This won't necesarilly get rid of the runtime because there are other things that may need it (like calling constructors of static variables) but it will help keep the size of executable down if you link statically.
There are many application that come with the C/C++ runtime. Some non Microsoft that I happen to have on may computer are Adobe Acrobat Reader 7, Winamp and Yahoo Messenger.
Jo Molnar - MSFT
i dont udnerstand why in relase mode doesnt work read langs and in debug mode works