View Full Version : qmake project on command line, no errors, but no output also

28th November 2016, 15:30

Question for the linux c gurus. Hopefully someone can help me.

I am porting some commandline projects to a backup machine.

This is on ubuntu 16.04 with latest qt 4.8.7 on a 32 bit machine
I have a project with a .pro file
I do qmake, then i do make -B, it compiles without errors but there is no output file generated.

On a 64 bit machine with previous ubuntu 14.04 / qt 4.8.1 it works great.


28th November 2016, 18:26

This might not be the same problem, but have you checked this link?

If that wasn't the case, perhaps it would be helpful if there's more details about the problem?


28th November 2016, 19:09
Thanks for trying to help.
I did not see anything on that page you mentioned that i think is relevant.

I just tried on ubuntu 16.04 64bit in a virtual machine, there it compiles fine, just like on ubuntu 14.04 64bit.
So my guess now is that it is somehow related to that 32bit machine.

Well, what details can i give? It's a simple .pro file with some .c and some .h
On 64bit machines qmake/make produce an executable, on a 32bit machine it does not.

QT -= gui

# Input
HEADERS += swedate.h \
swedll.h \
swehouse.h \
swejpl.h \
swenut2000a.h \
sweodef.h \
swepcalc.h \
sweph.h \
swephexp.h \
swephlib.h \
SOURCES += swecl.c \
swedate.c \
swehel.c \
swehouse.c \
swejpl.c \
swemmoon.c \
swemplan.c \
swemptab.c \
swepcalc.c \
swepdate.c \
sweph.c \
swephlib.c \

28th November 2016, 23:37
You have a 32-bit version of Qt installed?

You are sure you don't have flags set to build 64-bit object files?

And you get no error output from the command line make invocation? It just silently goes about its business and produces nothing?

I don't see any file named "main.c". Is main() defined in one of your other source files?

29th November 2016, 07:29
Yes it's weird, don't you think? :)
You can see the .pro file above, that's all i use for qmake/make, nothing else, so no flags and indeed no main.c
Qt on that machine comes from apt-get so i bet it's 32 bit. On all 64bit machines i have it compiles as it should.
I have a another 64bit machine, i'm going to make it dual boot and use that as a server backup.

29th November 2016, 12:20
The main() function could be in any of the source files.

What I find puzzling is that these seem to be C files. I.e. files ending with .c are usually passed to the C compiler (e.g. gcc on Linux), usually they won't compile at all if they contain C++ code.

In any case have a look at the compile step output, the compiler calls are usually very explicit where the output file is.


29th November 2016, 14:27
Oh sorry, there is a main() function, but no main.c, i misunderstood your answer.
Meanwhile that pc has been completely moved to the trash bin, must have been more that 15 years old.
But the problem is gone, i have a dual boot on another spare pc.
Thanks for the help though.