我必須在某些cpp文件中設置配置文件的路徑,這些文件位於不同的目錄中。 有時它`要求路徑:查找具有篩選器路徑的文件
readFromFile("../Config/config.cfg");
還有一次,它單曲要求:
readFromFile("../../Config/config.cfg");
是否有可能作出這樣的:?
readFromFile("../*/Config/config.cfg");
它`不加工。如何解決它? 首先,我必須設置「../」從基本目錄出去。
例如
+proj
|--+conf (dir)
| |--conf.cfg
|--+src (dir)
| |--A.cpp
| |--X.cpp
|--+test (dir)
| |--+make (dir)
| | |--B.cpp
代碼A.cpp和B.cpp正在調用X.cpp,其中配置文件的路徑是例如, 「../conf/conf.cfg」 對於A.cpp it s ok, but B.cpp can
找到「conf」目錄。
1) compiling:
g++ ../SourceFiles/DBHandler.cpp ../SourceFiles/ParamServer.cpp ../SourceFiles/Functions.cpp ../SourceFiles/Main.cpp -o main && ./main
2) not compiling because of the wrong paths in DBHandler:
g++ ../../SourceFiles/Functions.cpp ../../SourceFiles/DBHandler.cpp ../DBHandlerTestSuite.cpp -o main && ./main
問題的DBHandlerTestSuite.cpp有調用從DBHandler靜態方法(單)。 請注意'../'和'../../'。
我編輯了一些問題。 – andrew
@andrew這不是問題;無論.cpp在哪裏,「當前目錄」都不會改變。 B.cpp是不是用A.cpp和X.cpp編譯的? – ikh
@andrew請向我展示編譯後的二進制文件的路徑... – ikh