2015-02-11 188 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)文件的路徑。