How to run a C++ code in Qt?
-
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.
-
@jsulm
I definitely need my C++ code, because everything to get the results is in the code, but when I create a new project in Qt, the "main.cpp" file is also created. If I right click on it and "Remove File" do I need add this code somewhere?I had Qt5.4.1 before, and it gave results in "Application output" previously using “Desktop Qt5.4 MinGW” with the same main functions.
-
If you already have a main function that does everything then no. Just keep this in mind: having your main function in a file not named main.cpp is pretty unusual for an application, not forbidden, just unusual. Beware of maintenance nightmare.
-
I created another project file, and added the C++ files, but instead of adding the code .cpp file I copied it in "main.cpp" file. The only change I made was that copied the
QApplication a(argc, argv); MainWindow w; w.show();
After
int main(int argc, char *argv[])
{
. So, now there is only one main function in "main.cpp".After that I added the text file by "Argument", using MinGW 32bit, gives this "Runtime Library" error: MinGW 32bit I read maybe its because MinGW is 32bit and I need to use 64 bit as compiler.
And used "Desktop Qt5.5.1 MSVC 2013 64 bit" , it gives this error: MSVC 64bit -
Run it through the debugger, you're doing something fishy in your code. Throwing a bad alloc means that you are trying to allocated more memory than it's available. It might pass on 64bit (not the same memory limits) but if it does, it means that you are doing something else that is wrong and makes your application crash.
-
You need to install the debugger for MSVC
-
-
@SGaist
I installed Windows SDK and chose all components including "debugging tools for windows". Now, in Tools -> Options -> Build & Run -> Debuggers, I see the two paths for CDB. In "Kit" I chose "Desktop Qt5.5.1 MSVC2013 64bit" and from "Debugger" combo, the CDB.
I debug the program with it, and it doesn't give the previous error, but first open the mainwindow.ui and then shows "Debugging starts" in "Application Output" and Compile Output.
As I wrote before, instead of adding the (C++code.cpp) file I copied the code in "main.cpp" file to have one main fucntion. The only change I made was that copied theQApplication a(argc, argv); MainWindow w; w.show();
After
int main(int argc, char *argv[])
{
in my C++ code. How can I see the results (which are some numbers) in mainwindow.ui? -
Did you implement anything in MainWindow ?
-
I can't really read it because of all the whited out parts. But the first thing I'd do is check that you don't do anything funky in there. Remove what's not related to your algorithm from main and try to run that. Once it's good, bring back the Qt parts.
-
@SGaist
Sorry for white space, I have to remove some function names. The algorithm is 2820 lines, and I think each line is needed to output the result. Do you mean i remove the algorithm completely and just remain
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();}in main.cpp
I did that and the here is the output. -
Looks like there's no error there. But I meant the other way around. Run just your algorithm code. The error is there somewhere. And you should put a break point at the start so you can go step by step until it breaks.
-
Then there's something fishy going on with MinGW or you're lucky with Visual Studio. Without any code I can't possibly help you find why it's crashing only with MinGW.