I'm having issues with my compiler after reinstalling it several times, already. Qt can't find the main.o path directory file.



  • The information with the issue is posted in the link below, if you have the time to look at it, it will mean a lot.
    https://stackoverflow.com/questions/45409164/qtcreator-not-building-windows


  • Qt Champions 2016

    @RedDot
    HI
    What is the actual build error ?

    It seems to say
    The process "C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe" exited normally.

    So I didn't see any actual errors ?

    Also make sure that his virus scanner is not interfering with the .exe creation. ( im looking at you avast ;)

    Also, does the build folder contain any .o files ? ( like for mainwindow)



  • The actual build error on my compiler that my friend is not receiving as you can see in the picture is " Could Not Find C:\Users\gian_\Documents\build-Test-Desktop_Qt_5_9_1_MinGW_32bit-Debug\release\main.o"

    Here's a picture below, when I just rebuild it.

    0_1501489365627_Untitled.png

    What do you mean the build folder? The debug folder for this particular project? If so, yes it's there.

    I would like to note the above has a different name project but it's the same output it's showing as the previous one in the stackoverflow.



  • @RedDot
    Hi,

    Please provide more details, as from your question, it is not clear what you are trying to achieve.
    The error you have highlighted is not an actual error. It is just the 'make clean' step failing since there are no object files in the build directory, in the first place.

    May be you can also share the code you were trying to build.

    Regards,
    San



  • So, what I find odd it's compiling fine, but it's producing the message below in red even when I set the Test to release instead of debug and rebuild it. Is it normal for the compiler to act this sort of way?
    0_1501490966308_Untitled.png



  • @sanojsubran The code is a simple hello world program. I've clean the project and file and whenever I rebuild it, it gives that message.
    0_1501491126837_Untitled.png

    What's weird is the qmake seems to not be call in the place like where my friend has his?
    Friend setup below:
    0_1501491358173_Untitle333d.png

    My setup below:
    0_1501491382930_Untitled33.png

    Also I would like note I left everything QT had in default during the installation process, so I did not change anything.


  • Qt Champions 2016

    So If you make a brand new GUI project,
    and run it , no .exe will be produced ?



  • @mrjj GUI project as in a widget project? When I run the above program "Hello World" in a non QT project in plain C++ application, it runs and it shows "Hello World". However, when I rebuild it, that message in the red appears.

    So, it does run the .exe as you can see in the image below.
    0_1501492104169_Untitled.png
    However, when I rebuild it, I get the same message that I've been getting with the above images main.o.
    0_1501492173219_Untitled33.png

    Here's when I have it as released instead of debug.
    0_1501492202743_Untitle333d.png


  • Qt Champions 2016

    Hi
    So it does work ?
    Compile + link+ run

    The red lines seems to be only the del
    command not finding moc_ and UI_ and .o files.
    Just part of Make Clean.



  • @RedDot

    Hi,

    Please try one thing. When you switch the build configuration from Debug to Release or vice versa, right click the project and execute the option "Run qmake" manually once and then do a rebuild. Same is the case, when you make any change in the build configuration page.

    The error is just the clean operation is trying to delete the object files which has been already been deleted. This is what I infer from the logs.

    Regards,
    San



  • @RedDot

    hi,
    the folder Desktop_Qt_5_9_1_MinGW_32bit-Debug\release should always be empty, aka ghost folder that is created due to Windows quirks and the compiler, we discussed this here in an other topic somewhere.
    Same for Desktop_Qt_5_9_1_MinGW_32bit-Release\debug

    did you manually change your Shadow-Build folder? Have you tried, to completely delete the shadow build folder and/or selected a new path for your shadow build?



  • @RedDot ,

    Delete the build folder and user files. Try Clean, qmake and build your project and run it.



  • @sanojsubran
    I've gave that a try and I received to messages one when I ran the qmake and the other when rebuild it afterwards.

    When I manaully ran qmake once.

    0_1501516036694_Untitled.png

    When I try to rebuild the project afterwards. I did this vice versa, show the same thing, red message, once again appeared.
    0_1501516065952_Untitled3.png

    When I build it though I do not see the message and it works perfectly.
    0_1501516286094_Untitled33.png

    However when I either rebuild it or clean all project it does appear, again.
    0_1501516423459_Untitle333d.png



  • @J.Hilk No, I have not try that, by shadow build folder would it be this? If so, how should I select a new path for the folder? And should I remove it what I just highlighted? By hitting the remove button above general.
    0_1501516919050_Untitled.png


  • Qt Champions 2016

    Hi
    I get same red lines if i add a "make clean step" to the project
    alt text

    Check you didnt add such step. To be sure.
    Close Creator. delete the .user file in project folder.
    set Compiler again. Rebuild.



  • @Vinod-Kuntoji When I deleted the build folder and left everything else remainding such as the main.cpp and the .pro file.
    I rebuild the project and it seem to work?
    0_1501517260913_Untitled.png

    However, I added another output statement. Cleaned it and I received the same red message, I also rebuild it and got this below.
    0_1501517402011_Untitled.png



  • @RedDot ,

    Please show your pro file



  • @mrjj Okay, so here's what I came to conclusion, first off, I've did what you you ask me to do. I closed the creator by this I closed the project, as well as closed all. I deleted the .user file in the project folder. I was asked to set the compiler again, so here's the configuration below.
    0_1501518163626_Untitled1.png
    I rebuild it and received this message below.
    0_1501518189158_Untitled2.png
    Now, to not received the message above I deleted the .user file as well as the builder folder. Rebuild it and it look like it works. That being said do I need to continue to do this process every time I want to rebuild the project?


  • Qt Champions 2016

    Hi
    Ok. not a make clean step then.
    Im out of ideas.

    You can safely ignore the red lines.



  • I decided to create a new QT account because maybe the issue is because it's retrieving meta information from remote repository. It does it when I installed it, since I have an account already with this IDE. So, I decide to create a new one instead, to avoid doing that. Also, after trying almost everything, I decided to reset my pc to factory settings, this deletes all the files, and apps.

    I'm going to reinstall QT Creator, as well as VS again. Could the problem be cause by VS as well, I had this installed way before I decide to try out the QT Creator IDE? I've notice it's conflicting with QT creator, what I mean by this whenever I created a project in QT, it would also create one for VS automatically?


  • Lifetime Qt Champion

    Hi,

    Unless I'm mistaken, isn't your main function signature wrong ?



  • @RedDot The messages in red are because it is calling del main.o and main.o doesn't exist at that path. Before you rebuild or clean, go check that path (after a build) and see if main.o exists where it is supposed to. Also make sure the permissions are set properly.

    The reason I suggest this is because I see mixing of Release/Debug in the paths. So it will be something like *-MinGW-Debug/release/main.o. That leads me to believe it is trying to remove something that isn't there and was never created.

    You can ignore these lines, but it's interesting that you have MinGW-Debug and -Release but then debug/release inside each of those. That seems like a configuration issue to me.



  • @SGaist Hi,
    It's not wrong, that's how you write the main function in C++, I'm assuming you are referring to the int main ()? Ff so, it's not wrong. Also after resetting my entire pc to factory settings, deleting all the files/apps. I'm still having the same problem, that being said. The compiler does in fact compiles, and I'm able to run an .exe inside the IDE. Although, at this point, I've given up and decide to ignore the red message that consist of the main.o.



  • @RedDot said in I'm having issues with my compiler after reinstalling it several times, already. Qt can't find the main.o path directory file.:

    It's not wrong

    Well technically it is wrong. It works, and I do it like that for quick lazy test apps like this one. You can also do void main().

    However @SGaist is right, the actual function signature for a c/c++ main entry point is int main(int, char**), i.e. int main(int argc, char *argv[]).



  • @ambershark Hi, I just saw this before I submitted my reply to SGaist. In other words I should look for that specific directory you've written in red? The main.o is currently in this directory. Also how can I tell if the permissions are set properly? Or how I do where it should be set to?

    C:\Users\gian_\Documents\build-untitled-Desktop_Qt_5_9_1_MinGW_32bit-Debug
    


  • @RedDot Run the attrib command will show permissions. Or if you are a gui user right click->properties, should be a permissions tab in there.

    I'm not much of a windows user these days, just for video games mostly and testing my windows versions of my software. So I may be off a bit on right click filename->properties. :)

    And those files from red in your screen shot are for sure there in that directory? Then when you run make clean or rebuild it says it can't find them?

    Also can I see your *.pro file?



  • @ambershark It was written this way when I created a plain C++ project, however I changed it to the actual way it's taught in books and universities. That's why I've written it as int main(), I've noticed though that in Visual Studio, it would create your basic hello world program, but with the same function signature as I have it. So, maybe it depends on the IDE?
    When I ran the attrib.exe command it gave me a messages that I am not familiar with. Also when I right click on the project fileName -> properties I could not see the permission tab in there.
    .pro file below.
    0_1501550283507_Untitled.png



  • @RedDot

    Hi,

    I would suggest you don't worry about the messages in red in the 'Compile Output' pane. If you get errors in the 'Issues' pane, do resolve it.

    According to my understanding, what is happening is that when you are trying to do rebuild, the make is trying to delete the object files in both the 'debug' and 'release' folders. And since you have only build the project in the 'Debug' mode, it is not able to able to find the object file in the release folder. So this message is fine.

    Possible scenarios where this message appear would be,

    1. Manually when run 'clean' on the project and then do a rebuild, which in turn again will try to clean the project.
    2. When you build the code in the debug only and do a rebuild. In this case, from the screenshots, I can see that some how it is trying to delete the object files in release folder also, which has never existed.

    Regards,
    San



  • @RedDot said in I'm having issues with my compiler after reinstalling it several times, already. Qt can't find the main.o path directory file.:

    It was written this way when I created a plain C++ project, however I changed it to the actual way it's taught in books and universities. That's why I've written it as int main(), I've noticed though that in Visual Studio, it would create your basic hello world program, but with the same function signature as I have it. So, maybe it depends on the IDE?

    Yea it's the main entry point for c++, which is not affected by IDE at all. C++ is just plain text files which you can write and compile with no IDE at all.

    The correct way is int main(int, char **). You can also ignore return value with void main or ignore parameters with int main(). All these will work, but the actual function signature is the first one. With void main you can't return a run code to the OS which is bad. With int main() you don't get the command line arguments, which can be bad or neutral if your app never uses them.

    So the int main() that you are using will work just fine, however it is not technically correct. :) And of course has the limitations I listed above. But that really has nothing to do with your issues.

    I would recommend just ignoring the reds for now since they aren't causing any issues.

    And finally, if you want help with permissions (although I'm sure they are fine) you can post the output of attrib here and I'll interpret for you. ;)



  • @RedDot
    you mentioned earlier, that you also have visualstudio installed, at least before your factory reset. I would suggest that you use the MSVC (2015 or 2017) compiler and try it with that. Maybe its one of Windows many quirks :-)

    I personally prefere that compiler over MinGw, at least for pure windows projects.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.