How to run a C++ code in Qt?
-
Just pass the path to your file (including the file name)
-
Don't click on the icon, write the path by hand to your file
-
@SGaist
I did it like this: File path, but it gives the same error:
Starting C:\Qt\Tutorials\PS\build-ps1-Desktop_Qt_5_4_2_MinGW_32bit-Release\release\ps1.exe...
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
C:\Qt\Tutorials\PS\build-ps1-Desktop_Qt_5_4_2_MinGW_32bit-Release\release\ps1.exe exited with code 3 -
You're missing the file extension
-
@SGaist
Thanks, it worked and gives the results in "Application Output". Now, I want to enter the text file data using "mainwindow.ui" instead of reading the text file. Does it need to change the code or I should just add some functions to the "mainwindow.cpp" for Objects in "mainwindow.ui"?
For this model data, these were defined in cpp file:
"bool ReadModelData(istream &in, Master &_MS)"and the ReadModelData is called with:
"fin.open(argv[1],ios::in);
fin >> nof_people;
for(i=0; i<nof_people; i++) {
ReadModelData(fin,s);"
...
in header file:
"bool ReadModelData(istream &, Master &);" -
Add a function in your MainWindow class that takes the path as a
const QString &
then use QFile to read it and put the content in your text widget.Note that you have the nice and handy QCommandLineOption and QCommandLineParser classes to handle command line option you pass to your application.
-
@SGaist
Hi,
I have installed the newer version of Qt5.5.1 and trying to do the same (I have a C++ code, which gives output using MVS2013, and going to develop a stand-alone GUI for it using Qt5.5. I created a new project in Qt creator: ).
“New Project” >> “Qt Widgets Application” >> “MainWindow” and added .cpp and .h files of the C++ code using “Add existing Files”.
Using previous version Qt5.4.1, I could add all .cpp and .h files from my C++ code using “Add existing Files” with right click on "Headers" and "Sources". It showed the added files like this:
Add existing Files
But now when I do the same procedure, it doesn't show the new file added.
Not added
When I run it using "MSVC2013 64bit" , it gives this error: MSVC2013
Using "MinGW 32bit" , it gives this error: MinGW
Is there another way to add ready C++ code to the Qt5.5.1? -
The paths in the error messages look strange: many blanks.
Can you post the content of the *.PRO file? -
@jsulm
Sorry for blank spaces, just I have to delete some project names.
Now, I have added the headers and cpp files from another path and it shows them:Added existing files
The reads a text file data, and I add its path in "Argument" of " MinGW 32 bit" and it gives the results in Application Output.
Does it matter from which path I choose the .h and .cpp files, or in which directory the Qt project is saved?
However, when I use "Desktop Qt 5.5.1 MSVC2013 64bit" it gives this error: Compile Outputs
Issues -
You have two main functions that are being compiled. Aren't you trying to include too much files in your new project ?
-
@SGaist
I have these header and cpp files in my C++ code. C++ code
and add these files to the PS4 Qt project using “Add existing Files”: PS4 QtI also copy the text model (M7) file in the Qt directory and the code reads the data file. I gives the path of the model file using "Argument" in “Desktop Qt5.5 MinGW" run. Previously, I had Qt5.4 and MSVC 2010 and the results including some numbers appeared in "Application Output". Now, using Qt5.5 and MSVC 2013, the “Desktop Qt5.5 MinGW" works without error, but the "Application Output" shows this result, which are zero, instead of some non-zero numbers (cpu and z). Application output
However, when I compile with "Desktop Qt MSVC2013 64bit", it gives these errors: Issues
Compile output
Even if it gives the results using “Desktop Qt5.5 MinGW", it is ok, but it does not. -
Again, you have multiple main function, that's the first problem to solve. Why do you have more than one ?
-
@SGaist
You mean the "main.cpp" and "mainwindow.cpp" ?
If so, this is the same I did before with Qt5.4.1. There were the same main functions and gave the results in "Application Output".
I create a new project in Qt creator:
“New Project” >> “Qt Widgets Application” >> (Class name) “MainWindow” & (Base class) "QMainWindow" >> "Next" and "Finish" this application window:New Project
After that I added .cpp and .h files of the C++ code using “Add existing Files”. -
SGaist means the C/C++ main function:
int main(int argc, char** argv) { ... }
An application can only have one main function, as the compiler error says you have two of them.
-
I don't know which of them you have to remove. I don't know your code and I don't know what you want to do. You have to decide which of them is the right one and then just delete the other. You just cannot have more than one entry point (more than one main function) in a C/C++ program.