From: rath <mai...@ha...> - 2010-01-04 17:12:26
|
Hi, I installed msys and mingw. Then I compiled a little c++ program with "./configure" and "make". When I run it in the msys shell with "./test" I get the program output. But in the windows shell I get with "test.exe" no output. Where is the problem? Another thing.. When I try to compile a simple c++ helloworld program with "gcc main.cpp -o test.exe" I get this error message: gcc main.cpp -o test.exe C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xd): undefined refer ence to `std::string::size() const' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x60): undefined refe rence to `std::string::operator[](unsigned int) const' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x9e): undefined refe rence to `std::string::operator[](unsigned int) const' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xcc): undefined refe rence to `std::string::operator[](unsigned int) const' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x133): undefined ref erence to `std::cout' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x138): undefined ref erence to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <s td::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x140): undefined ref erence to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, st d::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x148): undefined ref erence to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x171): undefined ref erence to `std::ios_base::Init::Init()' C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x18c): undefined ref erence to `std::ios_base::Init::~Init()' collect2: ld returned 1 exit status Regards, Joern |
From: Vincent T. <vt...@un...> - 2010-01-04 17:17:03
|
On Mon, 4 Jan 2010, rath wrote: > Hi, > > I installed msys and mingw. Then I compiled a little c++ program with "./configure" and "make". > When I run it in the msys shell with "./test" I get the program output. But in the windows shell I get with "test.exe" no output. > > Where is the problem? > > Another thing.. When I try to compile a simple c++ helloworld program with "gcc main.cpp -o test.exe" I get this error message: gcc is by default the C compiler. To compile C++ program, use g++ instead. Vincent Torri > > gcc main.cpp -o test.exe > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xd): undefined refer > ence to `std::string::size() const' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x60): undefined refe > rence to `std::string::operator[](unsigned int) const' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x9e): undefined refe > rence to `std::string::operator[](unsigned int) const' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xcc): undefined refe > rence to `std::string::operator[](unsigned int) const' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x133): undefined ref > erence to `std::cout' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x138): undefined ref > erence to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <s > td::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char > const*)' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x140): undefined ref > erence to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, st > d::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x148): undefined ref > erence to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x171): undefined ref > erence to `std::ios_base::Init::Init()' > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x18c): undefined ref > erence to `std::ios_base::Init::~Init()' > collect2: ld returned 1 exit status > > > Regards, Joern |
From: rath <mai...@ha...> - 2010-01-04 17:44:54
|
Yes, I saw it after my mail... With g++ it works and I get an output also in the windows shell. But the program which is compiled with the makefile only works in the msys shell. Where could be the problem? ----- Original Message ----- From: "Vincent Torri" <vt...@un...> To: "MinGW Users List" <min...@li...> Sent: Monday, January 04, 2010 6:16 PM Subject: Re: [Mingw-users] No output on windows shell > > > On Mon, 4 Jan 2010, rath wrote: > >> Hi, >> >> I installed msys and mingw. Then I compiled a little c++ program with >> "./configure" and "make". >> When I run it in the msys shell with "./test" I get the program output. >> But in the windows shell I get with "test.exe" no output. >> >> Where is the problem? >> >> Another thing.. When I try to compile a simple c++ helloworld program >> with "gcc main.cpp -o test.exe" I get this error message: > > gcc is by default the C compiler. To compile C++ program, use g++ instead. > > Vincent Torri > >> >> gcc main.cpp -o test.exe >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xd): >> undefined refer >> ence to `std::string::size() const' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x60): >> undefined refe >> rence to `std::string::operator[](unsigned int) const' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x9e): >> undefined refe >> rence to `std::string::operator[](unsigned int) const' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xcc): >> undefined refe >> rence to `std::string::operator[](unsigned int) const' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x133): >> undefined ref >> erence to `std::cout' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x138): >> undefined ref >> erence to `std::basic_ostream<char, std::char_traits<char> >& >> std::operator<< <s >> td::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >> >&, char >> const*)' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x140): >> undefined ref >> erence to `std::basic_ostream<char, std::char_traits<char> >& >> std::endl<char, st >> d::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >> >&)' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x148): >> undefined ref >> erence to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x171): >> undefined ref >> erence to `std::ios_base::Init::Init()' >> C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0x18c): >> undefined ref >> erence to `std::ios_base::Init::~Init()' >> collect2: ld returned 1 exit status >> >> >> Regards, Joern > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list > etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > |
From: Tor L. <tm...@ik...> - 2010-01-04 17:54:29
|
> I installed msys and mingw. Then I compiled a little c++ program with "./configure" and "make". Well, if it has a configure script and makefiles, it isn't really "little" in my opinion. Can you reproduce the problem with a truly small C++ program, i.e. one that consists of a single source file, one page long max? And what do you mean, exactly, with "msys shell" and "windows shell"? Is "msys shell" MSYS's bash in a console window? Or in a rxvt window? Is "windows shell" cmd.exe in a console window)? --tml |
From: rath <mai...@ha...> - 2010-01-04 18:57:48
|
With "windows shell" I mean cmd.exe in a console windows and "msys shell" also in a console window. I have compiled the PDCom Library (http://www.etherlab.org/de/pdcom/index.php) by typing "./configure --prefix=/mingw" , "make" and "make install". Then I modified the example program so that it can run under windows. It get compiled without problems and I can run it in the msys bash without problems. But when I try to run it in the windows bash I get no output. I tried a very small c++ program. Only one output with "cout". This program works in both shells. ----- Original Message ----- From: "Tor Lillqvist" <tm...@ik...> To: "MinGW Users List" <min...@li...> Sent: Monday, January 04, 2010 6:54 PM Subject: Re: [Mingw-users] No output on windows shell >> I installed msys and mingw. Then I compiled a little c++ program with >> "./configure" and "make". > > Well, if it has a configure script and makefiles, it isn't really > "little" in my opinion. Can you reproduce the problem with a truly > small C++ program, i.e. one that consists of a single source file, one > page long max? > > And what do you mean, exactly, with "msys shell" and "windows shell"? > Is "msys shell" MSYS's bash in a console window? Or in a rxvt window? > Is "windows shell" cmd.exe in a console window)? > > --tml > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list > etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > |
From: Tor L. <tm...@ik...> - 2010-01-04 19:26:50
|
> With "windows shell" I mean cmd.exe in a console windows and "msys shell" > also in a console window. Sorry for getting back to this, but are you sure the msys shell is in a console window? Is it actually in a rxvt window? Anyway, is the program in question built as a "gui" executable, or a "console" one? What does objdump -p tell you? If you actually are using rxvt, that would explain it, as even "gui" programs have their stdout and stderr displayed when run in a rxvt window. In console windows one has to redirect the stdout and stderr of a "gui" program to a pipe or file to get it. (Yeah, two different meanings for "console" above... 1) console windows, and 2) the "console subsystem" as indicated by a field in the executable header. Why would one want anything else than "console" executables in the first place you might ask, if their output show up in all cases, which sounds like the Right Thing, doesn't it? Well, consider that the apps end-users run aren't started from a command line, but from the Start Menu (or a shortcut on the desktop)... and console executables *always* get a console window. If started without one, one is opened automatically. End-users hate that.) --tml |
From: Greg C. <gch...@sb...> - 2010-01-04 19:52:16
|
On 2010-01-04 16:53Z, rath wrote: > > I installed msys and mingw. Then I compiled a little c++ program with "./configure" and "make". > When I run it in the msys shell with "./test" I get the program output. But in the windows shell I get with "test.exe" no output. http://article.gmane.org/gmane.comp.gnu.mingw.msys/3451 > Another thing.. When I try to compile a simple c++ helloworld program with "gcc main.cpp -o test.exe" I get this error message: > > gcc main.cpp -o test.exe > C:/DOKUME~1/Joern/LOKALE~1/Temp/ccTEMYfz.o:main.cpp:(.text+0xd): undefined refer > ence to `std::string::size() const' For C++, use 'g++' instead of 'gcc': - gcc main.cpp -o test.exe + g++ main.cpp -o test.exe |
From: rath <mai...@ha...> - 2010-01-05 12:43:03
|
> Sorry for getting back to this, but are you sure the msys shell is in > a console window? Is it actually in a rxvt window? I start msys with a shortcut from my desktop and "C:\Programme\msys\1.0\msys.bat -norxvt" as destination. > Anyway, is the program in question built as a "gui" executable, or a > "console" one? What does objdump -p tell you? It is a console one. I used now different makefile and all works fine. Also the executables size is grown. Now I have the output in the msys and the windows shell. Thanks for the help! But I have an other problem wich doesn't refer directly to mingw. I want to use the mingw compiler for compiling matlab mex-files. For it I use "gnumex". I compiled this simple program with the command "mex main.cpp -v" from the matlab console: #include <iostream> #include <stdio.h> #include "mex.h" using namespace std; void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray*prhs[]){ printf("TEST\r\n"); cout << "TEST123" << endl; return; } But when I run the compiled program with "main('')" I only get this output: >> main('') TEST So the second output with "cout" doesn't get displayed. What could be the problem? The output of the mex command: -> Default options filename found in C:\Uni\pdcom-3.0.1\example ---------------------------------------------------------------- -> Options file = C:\Uni\pdcom-3.0.1\example\mexopts.bat MATLAB = C:\PROGRA~1\MATLAB\R2008a -> COMPILER = g++ -> Compiler flags: COMPFLAGS = -c -DMATLAB_MEX_FILE -Wall OPTIMFLAGS = -O3 DEBUGFLAGS = -g3 arguments = Name switch = -o -> Pre-linking commands = -> LINKER = C:\PROGRA~1\MATLAB\R2008a\sys\perl\win32\bin\perl.exe c:\uni\gnumex\linkmex.pl -> Link directives: LINKFLAGS = -LC:\Uni\GNUMEX~1 GM_ISCPP LINKDEBUGFLAGS = -g -Wl,--image-base,0x28000000\n LINKFLAGSPOST = Name directive = -o main.mexw32 File link directive = Lib. link directive = Rsp file indicator = -> Resource Compiler = C:\PROGRA~1\MATLAB\R2008a\sys\perl\win32\bin\perl.exe c:\uni\gnumex\rccompile.pl -o mexversion.res -> Resource Linker = ---------------------------------------------------------------- --> g++ -c -DMATLAB_MEX_FILE -Wall -oC:\DOKUME~1\Joern\LOKALE~1\Temp\mex_ifYYLT\main.obj -IC:\PROGRA~1\MATLAB\R2008a\extern\include -IC:\PROGRA~1\MATLAB\R2008a\simulink\include -O3 -DMX_COMPAT_32 C:\Uni\pdcom-3.0.1\example\main.cpp --> C:\PROGRA~1\MATLAB\R2008a\sys\perl\win32\bin\perl.exe c:\uni\gnumex\linkmex.pl -o main.mexw32 -LC:\Uni\GNUMEX~1 GM_ISCPP -s C:\DOKUME~1\Joern\LOKALE~1\Temp\mex_ifYYLT\main.obj link command: g++ -shared C:\Uni\GNUMEX~1\mex.def -o main.mexw32 -LC:\Uni\GNUMEX~1 -s C:\DOKUME~1\Joern\LOKALE~1\Temp\mex_ifYYLT\main.obj -llibmx -llibmex -llibmat Regards, Joern |