
그래서 나는 미친 프로젝트 설정을 가지고 있습니다. (글쎄, 단지 1개의 파일만이 이런 미친 짓을 필요로 합니다.) 먼저 설정에 대해 설명하겠습니다.
그래서 내 보관용 계정에 파일이 있습니다. 이 파일을 Kdevelop 프로젝트에 포함하고 싶지만 프로젝트 소스 코드의 나머지 부분은 내가 작업하고 있는 Kdevelop 환경 자체는 물론 가상 머신에 있습니다.
그래서 제가 한 일은 kdevelop 프로젝트의 프로젝트 디렉토리 트리에 있는 것이었고, 제 보관용 상자에 있는 파일에 대한 심볼릭 링크를 배치한 것입니다. 결론적으로.
host:~$ ls Dropbox/
Dropbox/pxaregsmodule.c
vm:~$ mount
Dropbox on /home/user/Dropbox/ type vboxsf (uid=1000,gid=1000,rw)
vm:~$ ls Dropbox/
Dropbox/pxaregsmodule.c
vm:~/projectroot/modules$ ls -la
puremodule.c
pwdmodule.c
pxaregsmodule.c -> /home/dknapp/Dropbox/pxaregsmodule.c
vm:~/projectroot/modules$ cat ../.kdev_include_paths
/home/user/projectroot/Include
당신이 본 것처럼. 프로젝트 트리 외부로 연결되는 kdevelop의 하위 디렉토리에 심볼릭 링크가 있습니다. 내 포함 파일의 프로젝트 루트에 포함 디렉터리가 있습니다.
지금질문문제는 kdevelop 편집기에서 pxaregsmodule.c를 열 때 /home/user/Dropbox에서 열린 것으로 생각하기 때문에 사용자 정의 포함 매개변수를 인식하지 못한다는 것입니다. 물론 이는 코드를 완성할 수 없고 포함 파일이 없다고 생각하는 편집기에만 영향을 미칩니다. 그러나 makefile 및 컴파일과는 아무런 관련이 없습니다.
그러나 kdevelop이 심볼릭 링크를 역참조하지 않고 파일이 열려 있다고 생각하여 projectroot/modules
포함 경로를 볼 수 있도록 하는 방법이 있습니까? 파일이 내 공유 파티션에 있고 파티션 경계를 넘기 때문에 하드 링크를 사용할 수 없습니다.
해결책이 있나요? 분명히 했나요?
답변1
VM에서 pxaregsmodule.c는 /home/user/Dropbox/pxaregsmodule.c 또는 /home/dknapp/Dropbox/pxaregsmodule.c에 있습니까?
/projectroot/modules의 심볼릭 링크 pxaregsmodule.c가 잘못된 디렉토리를 가리키기 때문에 손상된 것 같습니다. 다음과 같은 경우에는 어떻게 되나요?
tail ~/projectroot/modules/pxaregsmodule.c
표시할 코드가 있나요?
이것이 문제라면 다음과 같이 해결할 수 있습니다.
cd ~/projectroot/modules/
rm pxaregsmodule.c
ln -s /home/user/Dropbox/pxaregsmodule.c
(명확성을 위해 ln -sf는 사용되지 않음)
그럼에도 불구하고 가능하다면 Mercurial이나 Git과 같은 최신 VCS를 사용하는 것이 좋습니다. 이러한 유형의 문제를 피할 수 있으며 호스팅 비용을 지불하면 어디에서나 액세스할 수 있고 우수한 백업과 보안을 갖춘 솔루션을 얻을 수 있습니다. 자신의 서버를 설정하거나 저장소를 Dropbox에 직접 넣고 관련 컴퓨터의 네트워크를 통해 가상 컴퓨터에서 액세스할 수도 있지만 후자는 권장하지 않습니다.