Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compile a Qt project from command Line

Tags:

c++

qt

qt-creator

I am developing a application using Qt, the C++ library/framework. Using the QT-Creator I can compile my project just fine and the build directory generates the desired executable files just fine. However, I am trying to automate my asks and using Apache ANT. But I am running into the following issues.

Here is the output from the command line:

build.mac.64:      [echo] Building for Mac      [echo] Updating destination path      [exec] Project WARNING: No .qmake.cache is present. This significantly slows down qmake with this makespec.      [exec] Project WARNING: Call 'cache()' in the top-level project file to rectify this problem.      [exec] make: Nothing to be done for `first'.      [exec] cp: ./build/mac.64/settings.ini: No such file or directory      [exec] Result: 1      [echo] Reverting destination path 

I am not sure why it is not compiling the executable file.

Here is how my target looks like:

<target name="build.mac.64">     <echo>Building for Mac</echo>     <exec executable="qmake">         <arg value="myproject.pro"/>         <arg         value="-r"/>         <arg value="-spec"/>         <arg value="macx-clang"/>         <arg value="CONFIG+=x86_64"/>     </exec>      <exec executable="make" />      <exec executable="cp">         <arg value="./settings.ini"/>         <arg value="${default.build.dir.mac.64}/settings.ini"/>     </exec>  </target> 

Any idea where I am going wrong?

like image 885
roosevelt Avatar asked Oct 06 '13 07:10

roosevelt


People also ask

How do I compile a .pro file?

open terminal in your project folder . type : qmake -project . , this will create a . pro file with the same name of the folder where you run the command .


1 Answers

Thanks for the tips guys. I realized what I was doing wrong. QT-Creator actually takes the first two steps silently.

  1. Create the build output directory
  2. CD to the build output directory (KEY STEP)
  3. Call qmake referencing the .pro file
  4. Call make

So, the key thing that I overlooked was that you had to be in the build directory first and then call qmake, make etc... And also if the build already has the files compiled it throws that error. I just have to make sure I clean the build directory to compile everything fresh.

like image 63
roosevelt Avatar answered Oct 04 '22 05:10

roosevelt