Solved Sometimes <iostream> found and compiles and sometimes not!
-
Somebody want to try at this one... I have two simple programs, both contain #include <iostream> and have identicle "kits". One compiles and the other says, "cannot open include file:'iostream':no such file or directory. That is also the only error that shows.
Any thoughts???
-
Do you use qmake to generate Makefiles ?
Do you use the same qmake ?
What is a compiler command line for both cases ? -
For both I used Qt Creator (ver 3.1.1 that came w/Qt 5.3) not the Command Line version. The compiler used is the default listed in the "kit":
Desktop Qt5.3.0MSVC2013OpenGL64bit
-
When you run build in QtCreator it prints all output from qmake and make into "Compile output" panel at the bottom of a screen.
You can find "Ctrl+F" the exact compiler line that generates an error and compare it with a good behaving program. -
Unfortunately, most of it is still new to me!! Compile Output shows the following:
@16:09:00: Running steps for project VehicleClass...
16:09:00: Configuration unchanged, skipping qmake step.
16:09:00: Starting: "C:\Qt\Qt5.3.0\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5.3.0\Tools\QtCreator\bin\jom.exe -f Makefile.Release
cl -c -nologo -Zm200 -Zc:wchar_t -FS -O2 -MD -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DQT_CORE_LIB -DNDEBUG -I"C:\Qt\Qt5.3.0\5.3\msvc2013_64_opengl\include" -I"C:\Qt\Qt5.3.0\5.3\msvc2013_64_opengl\include\QtCore" -I"release" -I"." -I"C:\Qt\Qt5.3.0\5.3\msvc2013_64_opengl\mkspecs\win32-msvc2013" -Forelease\ @C:\Users\ROBERT~1.CRE\AppData\Local\Temp\main.obj.9732.16.jom
main.cpp
..\VehicleClass\main.cpp(3) : fatal error C1083: Cannot open include file: 'iostream': No such file or directory
jom: D:\Qt GUI Projects\Tutorial Projects\build-VehicleClass-Desktop_Qt_5_3_0_MSVC2013_OpenGL_64bit-Release\Makefile.Release [release\main.obj] Error 2
jom: D:\Qt GUI Projects\Tutorial Projects\build-VehicleClass-Desktop_Qt_5_3_0_MSVC2013_OpenGL_64bit-Release\Makefile [release] Error 2
16:09:01: The process "C:\Qt\Qt5.3.0\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project VehicleClass (kit: Desktop Qt 5.3.0 MSVC2013 OpenGL 64bit)
When executing step 'Make'
16:09:01: Elapsed time: 00:01.@The error shows up in .cpp file on line 3 and is only one. Just can't find <iostream>
-
Here's the compiler output from the good program:
@16:15:16: Running steps for project HelpClass...
16:15:16: Configuration unchanged, skipping qmake step.
16:15:16: Starting: "C:\Qt\Qt5.3.0\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5.3.0\Tools\QtCreator\bin\jom.exe -f Makefile.Release
16:15:16: The process "C:\Qt\Qt5.3.0\Tools\QtCreator\bin\jom.exe" exited normally.
16:15:16: Elapsed time: 00:00.@ -
Could you add an output of good compile log from other program.
And how do you include iostream in both cases -
Could you rebuild good program.
Right click on it in Project view and select "Rebuild". -
Here's part of the coding from the "bad" program
@// A program that uses the Vehicle CLASS.#include <iostream>
using namespace std;
//Declare the Vehicle Class.
class Vehicle {
public:
int passengers; //number of passengers.
int fuelcap; //fuel capacity.
int mpg; //fuel consumption in mpg.
};int main() /The main() function creates 2 instances of Vehicle called minivan and sportscar.
The code within main() accesses the instances of variables associated
with minivan & sportscar, assigning them values and then using those variables.
The code inside main() can access the members of Vehicle because they add_reference
declared public./{@
-
And part from the "good one"
@/*
-
A simple program to provide Help with functions.
-
Project 3-3 Pg 111 is herein revised to Project HelpClass Pg 295 (C++ A Beginner's Guide) with addition of USER ID function
-
from Masteryhecks 8
-
This Help System now processes multiple requests.
-
This main.cpp adds a User ID function to the original program on Pg 295
*/
#include <iostream>
using namespace std;// A class that encapsulates a help system. This is a function only class.
class Help {
int userID;public:
Help(int id) { userID = id; } //Sert up User ID~Help() { cout << "\n Terminating help for # " << userID << ".\n\n";} int getID() { return userID; } void helpon(char what); void showmenu(); bool isvalid(char ch);
};
//Display help information.void Help::helpon(char what) { switch (what) { case '1' : cout << " The if:\n\n" ; cout << " if(condition) statement; /n" ; cout << " else statement; \n" ; break ;@
-
-
Are there any differences in the .pro files except of different source files ?
-
Nope, identical.
-
Bad .pro
@
#-------------------------------------------------Project created by QtCreator 2014-06-26T11:23:54
#-------------------------------------------------
QT += core
QT -= gui
TARGET = VehicleClass
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
SOURCES += main.cpp
@
Good .pro
@
#-------------------------------------------------Project created by QtCreator 2014-06-26T14:16:26
#-------------------------------------------------
QT += core
QT -= gui
TARGET = HelpClass
CONFIG += console
CONFIG -= app_bundleTEMPLATE = app
SOURCES += main.cpp
@ -
What if you try to run "Clean", "Run qmake", and "Rebuild" for both projects.
-
Didn't work. Now neither compiles. I get that same error message for both. No idea what's wrong!!
-
Do you have iostream file on your computer ?
[EDIT] What version of Qt do you use ?
-
Yea, looked it up and it's in the "include" folder of MSVC2013
Qt 5.3.0 using QtCreator 3.1.1
It's been working fine till today. Haven't added any new programs, updates, etc. Nothings changed that I know of. Also checked and no viruses according to Norton!
-
Also, the "good" program was re-compiling until just now. Beats me what's going on!!
-
I've got to head to a meeting now. I really appreciate all your help and assistance!! If you think of anything else, I'll be checking in later. Again, thanks!!
Bob
-
Try to add to you .pro file
@
INCLUDEPATH += C:/path/to/MSVC2013/include
DEPENDPATH += C:/path/to/MSVC2013/include
@