私の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に指示する方法はありますか?