Qt:qmake入门指南

入门

1、将examples/qmake/tutorial下的文件复制到某个目录下,
在这里插入图片描述

在这里插入图片描述
ps:可以看出这些文件使用了qt
在这里插入图片描述
2、使用纯文本编辑器创建一个hello.pro

在这里插入图片描述
hello.pro 内容如下:

(1)使用SOURCES变量将源文件添加到项目文件中

  • 第一种写法
SOURCES += hello.cpp
SOURCES += main.cpp
  • 第二种写法
SOURCES = hello.cpp \
          main.cpp

(2)使用HEADERS变量将源文件添加到项目目录中

HEADERS += hello.h

(3)现在,hello.pro 内容如下

HEADERS += hello.h
SOURCES += hello.cpp
SOURCES += main.cpp

3、使用qmake为应用程序生成Makefile

qmake -o Makefile hello.pro

在这里插入图片描述
可以看到生成了Makefile
在这里插入图片描述
ps:对于Visual Studio用户,qmake也可以生成Visual Studio项目文件:

qmake -tp vc hello.pro

4、然后输入make命令,这取决于您使用的编译器。

  • 如果你用MinGW,你的make 叫 mingw32-make
  • 如果你用MSVC,你的make叫 nmake在这里插入图片描述

使应用程序可调试

应用程序的发行版不包含任何调试符号或者其他调试信息。在开发过程中,产生具有相关信息的应用程序的调试版本非常有用。我们可以使用CONFIG实现

例如,hello.pro 内容如下:

CONFIG += debug
HEADERS += hello.h
SOURCES += hello.cpp
SOURCES += main.cpp

像以前一样使用qmake生成Makefile。现在,在调试环境中运行应用程序时,您将获得有关该应用程序的有用信息

添加特定于平台的源文件

经过几个小时的编码,您可能已经在应用程序的特定于平台的部分开始,并决定将依赖于平台的代码分开。因此,您现在有两个新文件要包含到您的项目文件中:hellowin.cpp和hellounix.cpp。我们不能仅仅将它们添加到SOURCES变量中,因为那样会将两个文件都放入Makefile中。因此,我们在这里要做的是使用一个范围,该范围将根据我们要构建的平台进行处理。

添加Windows平台相关文件的简单作用域如下所示:

win32 {
    SOURCES += hellowin.cpp
}

当为Windows构建时,qmake将添加hellowin.cpp到源文件列表中。在为任何其他平台构建时,qmake只会忽略它。现在剩下要做的就是为Unix专用文件创建作用域。

完成此操作后,hello.pro 内容如下:

CONFIG += debug
HEADERS += hello.h
SOURCES += hello.cpp
SOURCES += main.cpp
win32 {
    SOURCES += hellowin.cpp
}
unix {
    SOURCES += hellounix.cpp
}

像以前一样使用qmake生成Makefile。

如果文件不存在,则停止qmake

如果某个文件不存在,则可能不想创建Makefile。我们可以使用exist()函数检查文件是否存在。我们可以使用error()函数停止qmake的处理。这与作用域的工作方式相同。只需用功能替换范围条件。检查名为main.cpp的文件如下所示:

!exists( main.cpp ) {
    error( "No main.cpp file found" )
}

完成此操作后,hello.pro 内容如下:

CONFIG += debug
HEADERS += hello.h
SOURCES += hello.cpp
SOURCES += main.cpp
win32 {
    SOURCES += hellowin.cpp
}
unix {
    SOURCES += hellounix.cpp
}
!exists( main.cpp ) {
    error( "No main.cpp file found" )
}

检查多个条件

  • 假设您使用Windows,并且希望qDebug()在命令行上运行应用程序时能够看到语句输出。
  • 要查看输出,必须使用适当的控制台设置来构建应用程序。
  • 这需要使用两个嵌套的作用域。首先创建一个作用域,然后在其中创建另一个作用域。将要处理的设置放入第二个作用域,如下所示:
win32 {
    debug {
        CONFIG += console
    }
}

完成此操作后,hello.pro 内容如下:

CONFIG += debug
HEADERS += hello.h
SOURCES += hello.cpp
SOURCES += main.cpp
win32 {
    SOURCES += hellowin.cpp
}
unix {
    SOURCES += hellounix.cpp
}
!exists( main.cpp ) {
    error( "No main.cpp file found" )
}
win32:debug {
    CONFIG += console
}
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,出现 "bash: qmake: 未找到命令" 的问题可能是由于环境变量没有正确设置引起的。根据引用中的信息,可以通过以下步骤来解决问题: 1. 确认你安装的Qt的路径,根据你的安装位置进行配置。例如,如果你的Qt安装在 /opt/qtsdk-xxxx/qt 目录下,可以执行以下命令设置环境变量: ```bash export QTDIR=/opt/qtsdk-xxxx/qt export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib export PATH=$PATH:$QTDIR/bin ``` 2. 检查你的环境变量中是否包含 /usr/bin 目录,可以使用以下命令查看: ```bash echo $PATH ``` 如果发现 /usr/bin 目录下有 qmake-qt4 但没有 qmake,可以创建一个软连接来解决: ```bash ln -s qmake-qt4 qmake ``` 3. 如果以上步骤无效,可以尝试在 /etc/profile 文件中添加以下几行语句: ```bash export QTDIR=/opt/qt-xxxx/qt export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib export PATH=$PATH:$QTDIR/bin ``` 确保将路径替换为你实际的Qt安装路径。 通过以上步骤,你应该能够解决 "bash: qmake: 未找到命令" 的问题。如果仍然遇到困难,你可以参考引用和引用中的方法,使用 locate 或 find 命令来查找 qmake 的路径,并根据实际情况进行设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [<转>bash: qmake: command not found...](https://blog.csdn.net/weixin_33825683/article/details/91850902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [bash: qmake: command not found](https://blog.csdn.net/m0_37806112/article/details/82623486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值