K02-01如何通过简单exe介绍pro基本配置-创新互联-成都快上网建站

K02-01如何通过简单exe介绍pro基本配置-创新互联

这篇文章将为大家详细讲解有关K02-01如何通过简单exe介绍pro基本配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

公司主营业务:网站制作、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出宣化免费做网站回馈大家。

正文

----------------------------------------------------------------

本节,我们通过一个简单的exe介绍pro文件的基本配置。

  我们的exe功能很简单,仅输出一行信息: 我真的啥也没干。

代码清单02-01-01

main.cpp

  1. #include


  2. #include "qglobal.h"



  3. using std::cout;


  4. using std::endl;


  5. int main(int argc, char * argv[])


  6. {


  7. Q_UNUSED(argc);


  8. Q_UNUSED(argv);



  9. cout << "我真的啥也没干." << endl;


  10. return 0;


  11. }



复制代码

  在代码清单02-01-01中,为了向终端输出日志,需要用到cout,行尾的endl表示换行。这需要引用,所以我们编写了第1行的include语句。

  这是C++的写法,在C中使用“iostream.h”。

大家可能注意到了,在第4~5行代码,我们使用using语句引入了cout和endl。这是因为我们不想引入整个stl命名空间,有的coder可能会使用如下代码:

  1. using namespace stl; // 不推荐

复制代码

  但我们不推荐这样做。我们推荐仅引入所需的内容,或者不编写引入命名空间的代码,而是直接在使用cout时写成:

  1. std::cout << “xxx” << std::endl;

复制代码

  main()函数比较简单,无需过多讲解。我们来看一下怎么编译这个文件。在C++中,如果使用gcc编译 器,那么我们需要提供Makefile文件(项目文件),而这个文件使用手工编写是非常麻烦的,而且还涉及到非常多非常复杂的编译选项。Qt提供了一种简化手段来提供这个Makefile文件,它要求开发者提供pro文件,然后使用qmake命令将其转换为Makefile。那么pro文件是什么呢?

  pro文件是一个文本文件,它采用key = values的语法。比如,我们这个工程用到了main.cpp,那么我们可以在pro中编写如下语句:

  1. SOURCES +=  main.cpp

复制代码

其中,SOURCES指明本项目用到的cpp文件列表。其中+=表示在SOURCES原值的基础上添加main.cpp。比如,我们在pro后面的部分可以继续追加cpp文件:

  1. SOURCES +=  main.cpp



  2. SOURCES += imp.cpp



复制代码

这样项目包含的cpp文件(SOURCES)就变成:main.cpp、imp.cpp。

  如果有多个cpp文件,我们可以写在main.cpp的后面:

  1. SOURCES += main.cpp  imp.cpp

复制代码

但是,这样可读性不是很好,我们一般会使用“\”进行换行,比如:

  1. SOURCES += main.cpp \


  2.             imp.cpp



复制代码

  请注意main.cpp和“\”之间最好加一个空格以便增加可读性。

  如果向项目中添加头文件,我们可以使用HEADERS配置项,用法同SOURCES。比如:

  1. HEADERS+= myclass.h \


  2.             imp.h



复制代码

  为了指明本项目的目标程序名称,我们用到TARGET配置项:

  1. TARGET  = ks02_01

复制代码

  这行代码表明我们的项目最终程序为ks02_01,如果它是一个可执行程序,那么最终在windows上生成的程序为ks02_01.exe,在linux上(或unix)上为ks02_01。如果生成的是一个dll,那么在windows上为ks02_01.dll,在 linux(或unix)上可能为libks02_01.so.1.0.0。

  以上介绍了pro文件最最基本的配置。我们看一下pro文件的完整内容:

代码清单02-01-02

ks02_01.pro

  1. TEMPLATE      = app


  2. LANGUAGE      = C++


  3. CONFIG        += console


  4. TARGET    = ks02_01


  5. HEADERS        += ks02_01.pro


  6. SOURCES    +=  main.cpp


  7. DESTDIR      = ../../../bin


  8. OBJECTS_DIR  = ../../../obj/chapter02/ks02_01


  9. MOC_DIR        = ../../../obj/moc/chapter02/ks02_01



复制代码

  在代码清单02-01-02中,TEMPLATE = app表示这是一个exe项目。如果是dll,则TEMPLATE=lib。

  因为使用C++语言进行开发,所以配置为:LANGUAGE = C++。

  我们这个项目是一个终端运行程序(命令行程序),所以设置为:CONFIG += console,如果不设置,则无法在终端中正常运行(比如,cout的信息无法输出到终端)。读者可以封掉这行配置进行验证,方法是在改行配置前加上一个"#"号(请使用英文、半角,不要用中文输入),"#"的作用表示本行为注释,那么Qt就不会把这行当作配置进行解析。

  最后的几个DIR用来设置各种文件的路径。

   DESTDIR:表示最终目标程序的存放路径。

   OBJECTS_DIR:表示程序生成的中间临时文件的存放路径。

   MOC_DIR:用来设置moc文件的存放路径(Qt的moc命令生成的临时文件)。该配置项我们后面章节中会详细说明。

大家可能注意到了,在本节的pro中这些路径的设置都使用了相对路径的方式。其实我们并不推荐这种方式,在后面的章节中我们会使用环境变量的方式设置这些路径。

现在把pro文件和cpp文件放到同一个目录下,目录名为ks02_01。然后在VS2017的64位命令行下,进入项目所在目录,执行:

  1. qmake


  2. nmake


程序即可编译成功。

如果您希望使用VS2017的IDE开发环境打开该项目,那么需要生成VS2017可以识别的项目文件,方法是在VS2017的64位命令行中,进入项目所在目录,运行:

  1. qmake  -tp  vc

这样就可以得到名为ks02_01.vcxproj的项目文件,该文件可以被VS2017识别。

好了,pro介绍完毕,大家可以尝试一把了。

关于“K02-01如何通过简单exe介绍pro基本配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:K02-01如何通过简单exe介绍pro基本配置-创新互联
标题链接:http://kswjz.com/article/dighee.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流