1

私のC++プロジェクトのディレクトリ構造は次のようになります:

root
  root.pro
  include
    dir1
      header1.h
    dir2
      header2.h
  src
    src.pro
    dir1
      source1.cpp
    dir2
      source2.cpp

ファイル編成を維持するために CONFIG -= flat オプションを使用して msvc プロジェクトを生成しようとしています。これは、ソース ファイル (実際には、.pro またはそれよりも深いディレクトリよりも同じディレクトリにあるすべてのファイル) に最適です。

しかし、私の「インクルード」ディレクトリでは、生成されたフィルターはかなり奇妙/愚かです!

MSVC_project
  Header Files
    ..
      include
        dir1
          header1.h
        dir2
          header2.h
  Source Files
    src1
      source1.cpp
    src2
      source2.cpp

qmake が .pro ディレクトリに相対的なディレクトリ構造を再作成しようとしているようです。

HEADERS および SOURCES qmake 変数に相対または絶対ファイル名を指定しても、何も変更されません。

私の src.pro ファイル、空想は何もありません:

NAME = proj_name
TEMPLATE = lib
CONFIG -= flat
QT += core gui opengl
ROOTDIR = ..
#ROOTDIR = $$system(cygpath -aw ../..)

HEADERS_PATH = $$ROOTDIR/include

INCLUDEPATH += $$HEADERS_PATH
HEADERS += $$system(find $$HEADERS_PATH -name "*.h")
SOURCES += $$system(find . -name "*.cpp")
...

適切なフィルターを生成するようにqmakeに指示する方法はありますか?

4

0 に答える 0