2009-12-28 68 views
13

這是此問題How to create a subdirectory for a project in qt-creator?的後續處理,其中第一個答案對我無效。在Qt中使用.pri文件

我通過手動將每個文件寫入主.pro文件來解決這個問題,但這並不困難,但我仍然想知道--pri文件的工作原理以及爲什麼上面鏈接的解決方案沒有添加文件夾,但只有.pri文件,因此在Qt Creator的是這樣的:

Qt creator screenshot http://i45.tinypic.com/f4ogeh.png

所以,我的問題是:

  • 什麼.pri文件的一般格式?
  • 爲什麼上述解決方案不起作用?
+0

只是[左詳細解釋](http://stackoverflow.com/questions/8358627/qt-pro-vs-pri/23845651#23845651)關於'.pri'和'.pro'文件差異看到沒有人提供了一個,只是一些快速寫作。 :) – lpapp 2014-05-24 13:50:48

回答

7

我看你的截圖的猜測是,QtCreator沒有找到.pri文件中列出的頭文件。如果您的.pri文件位於與.pro文件不同的目錄中(這似乎就是這種情況),Qt會查找.pri文件中列出的文件與.pri文件相同的目錄中(不是.pri文件)。 pro文件),並且將從該目錄解析任何相對路徑。

當一個文件不能被發現,QtCreator自動忽略它,根本不將其添加到項目視圖中的文件夾。例如,如果您在include.pri文件中使用了line.h,circle.h和bezier.h的完整路徑,只要保存該文件,就會看到它們出現在項目視圖中。現在的關鍵是簡單地找出指向這些文件相對於.pri文件的適當相對路徑。

+0

這個答案不太具有描述性,但它解決了我的問題,謝謝 – 2009-12-30 22:19:49

+9

qmake查找與包含.pro文件(而不是.pri文件)的目錄相關的文件。 – Nick 2011-10-11 15:18:58

0

Qt 4.5: Managing Projects提取:

的.pri文件中包含的源文件,頭文件的.ui文件,並.qrc文件放在項目的清單。

欲瞭解更多有關這些文件及其操作系統:

  • 包含Windows特定的設置,並在項目列出文件.vcproj文件。
  • 包含Unix和/或Mac OS X特定設置的.pro文件。
  • 一個.pri文件(一個qmake包含文件)列出項目中的文件。

我建議你採取的鏈接看看。

+0

.pro文件還可以包含Windows特定的設置。可以從這個.pro文件生成一個.vcproj文件。 – 2010-11-23 10:37:23

19

.pri文件的格式是完全一樣的.pro文件的格式。主要區別是意圖之一;一個.pro是大多數人預計直接運行qmake,而.pri將包含在.pro。當你指示qmake包含另一個文件時,它只是處理該文件中的命令,就好像它在當前文件中一樣。

上次我查看Qt Creator時,它會做額外的解析,並且認識到.pri文件是分開的,並且將該文件中的任何headers/sources/ui/rc/pri文件明確地作爲子目錄列出,就像您請參閱此問題屏幕截圖中列出的include.pri文件。