问题1:首先参考rainysky的博客,发现qmake时发生找不到目录,文件的错误,又找不到 qmake.conf 文件的写法。所以开始按照网上的程序修改 XXX.pro 文件。
问题2:使用QT Creator 修改完pro文件之后,再使用QT Embedded ,qmake 之后,pro文件恢复到原来修改之前的样子。应该是,QT Embedded编译会覆盖原来的pro文件,生成自己的配置文件。
思路:两个。
其一,完全使用QT Creator进行编译,参照网上的blog修改编译工具,再次修改pro文件。新问题,因为我的QT Embedded安装在root目录下,没有访问权限,只能重新用sudo qtcreator(小小吐槽一下,界面字体居然变了),然后添加GCCE工具,用qtcreator 进行编译,然后查看Makefile文件,发现使用的工具还是gcc,而非我指定的工具,include 和 lib倒是包含进去了,但是不行啊。。。。而且,不喜欢sudo qtcreator的界面编译,还是返回,使用QT
Embedded编译吧。
Embedded编译吧。
附参考链接:求大婶指教到底该怎么弄。 http://www.cnblogs.com/preorder69/archive/2013/04/09/3007067.html
其二,就是如何修改qmake的编译的include 和lib 目录了,我没有尝试修改makefile文件,一个原因是太复杂,另一个原因是因为Makefile文件是qmake 生成的,我不知道其生成的makefile和标准的makefile有没有什么区别需要注意,所以还是想修改最原始的文件,我们就又回到了qmake.conf文件上。
再吐槽一下,编译链接过程了解的还是不够深入啊。。。。
qmake.conf文件中,看到下面几行:
其中红色字体部分发现了很眼熟的一些字眼,-L,-I 是gcc中指定链接文件目录和头文件目录用的,后面跟的参数刚好是我的QT Embedded的install目录下的链接文件和头文件。
所以。。。我就修改了这里,添加了opencv的头文件目录和链接库目录进去。。。然后cd到工程路径下,
qmake -project
qmake
再查看Makefile文件发现是变了,但变得不是地方。。这是我最终成功之后的makefile文件,我就不再去吧错误图附上来了。。。
如图所示,我们最后得到的修改应该是在INCPATH,LIBS后面有关于opencv目录的添加,但是我在这一步得到的添加是在CFLAGS,CXXFLAGS 和 LFLAGS。。。我查makefile的相关书籍,依照我的理解FLAGS是用来解释的,猜想这个应该是qmake为了能够生成make可以识别的makefile文件而专用的解释器(请大神指正)。改错了啊。。。于是,又返回qmake.conf文件。。。
算是对qmake.conf 文件有了一些了解,再参考qmake的命令参数中的INCLUDEPATH以及LIBS,越发觉得其实rainysky博客中的方法是可以的,猜想第一次是不是因为复制了rainysky博客中的命令特殊字符的问题导致的。。。如果是这样,那我就冤枉的绕了一大圈。。于是手打进去如下内容:
然后。。。然后就可以了。。。教训告诉我们,不要盲目相信别人的错误你也会出。。我就是因为轻易的搜出有人和我一样修改qmake.conf文件也不行,所以才认为这个方法不行,然后就套用别人的经验尝试修改.pro文件然后。。。。一去不复返。。
版权声明:本文为博主原创文章,未经博主允许不得转载。