다른 디렉토리에있는 일부 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의 경우 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에서 정적 메서드 (singleton)를 호출하고 있습니다. '../'및 '../../'에 유의하십시오.
나는 약간의 질문을 편집했다. – andrew
@andrew 문제가되지 않습니다. .cpp가 어디에 있든 "현재 디렉터리"는 변경되지 않습니다. B.cpp가 A.cpp 및 X.cpp로 컴파일되지 않습니까? – ikh
@andrew 컴파일 된 바이너리 경로를 보여주세요 ... – ikh