2

Qt プロジェクトで誰かと一緒に作業していると、常に.proファイル内で競合が発生します。

たとえば、そのようなプロジェクトツリーがあります

HEADERS += \
main.cpp \
a.cpp

b.cpp誰かが追加している間に、Qt Creatorに新しいファイルを追加しますc.cpp。その結果、新しい.proファイルがあります

HEADERS += \
main.cpp \
a.cpp \
b.cpp

そして私の同僚はファイルを持っています

HEADERS += \
main.cpp \
a.cpp \
c.cpp

両方が変更をコミットすると、プロジェクト ファイルが競合します。Qt Creator または git を構成して、通常、このようなものを次のようにマージする正しい方法は何ですか:

HEADERS += \
main.cpp \
a.cpp \
b.cpp \
c.cpp
4

5 に答える 5

1

.proまたは.priファイルを頻繁に変更する必要がないように、ワイルドカードを使用してみてください。

HEADERS += $$files(*.h)
SOURCES += $$files(*.cpp)

.pria では、パスの前に を付ける必要があることに注意してください。$$PWDそうしないと、パスは.pro.

HEADERS += $$files($$PWD/*.h)
SOURCES += $$files($$PWD/*.cpp)
于 2015-02-05T17:36:05.347 に答える
1

まず第一に、マージの競合は Qt Creator ではなく、バージョン管理システムによって管理されます。したがって、「通常はこのようなものをマージするように Qt Creator を構成する」とは言えません。設定する必要があるのは VCS です。

ただし、この回答で説明されているように、pro ファイルでワイルドカードを使用できます。この構成では、新しいファイルを追加するときに .pro ファイルを変更する必要がないため、VCS はそれについて落ち着いています。

于 2013-09-28T15:11:39.413 に答える
0

次の表記を使用して、各ファイルを手動で追加するか、追加後にproファイルを編集できると思います

HEADERS += header1.h
HEADERS += header2.h
HEADERS += header3.h

しかし、qtクリエーターにこのアプローチを使用する方法がわかりません

于 2015-08-15T04:38:05.713 に答える