2015-02-11 126 views
0

我试图用共享文件设置目录,但最终以No rule to make target 'position.cpp', ...结束。我究竟做错了什么?qtmake - 两个项目/目标之间的共享资源

文件系统树(简化):

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 

回答

0

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