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)
文件的路径。
我正在尝试设置包含共享文件的目录,但结果是 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)
文件的路径。