qtmake - 两个 projects/targets 之间的共享资源

qtmake - shared resources between two projects/targets

我正在尝试设置包含共享文件的目录,但结果是 No rule to make target 'position.cpp', ...。我做错了什么?

文件系统树(简化):

Project.pro client  server  shared

./client:
client.pro  main.cpp  main.h

./server:
main.cpp  main.h  server.pro

./shared:
position.cpp  position.h  shared.pri

Project.pro:

TEMPLATE = subdirs
SUBDIRS = client server

client.pro(server.pro 看起来很像):

LIBS += $$system(sdl2-config  --libs) -lSDL2_ttf -lSDL2_image -lSDL2_net
QMAKE_CXXFLAGS += $$system(sdl2-config --cflags) -Wall -Wextra -Werror -pedantic -std=c++11

SOURCES += \
    main.cpp

HEADERS += \
    main.h

include(../shared/shared.pri)

shared.pri:

SOURCES += \
    position.cpp

HEADERS += \
    position.h

make 找不到引用的 position.cpp 文件时,可能会发生给定错误。原因是它试图在 .pro 而不是 .pri 文件所在的目录中找到 position.cpp。要修复它,您可以尝试在 .pri 文件中使用 _PRO_FILE_PWD_ 变量来正确设置 position.cpp(h) 文件的路径。