Configuração do projeto Kdevelop com arquivos ligados simbolicamente não vendo caminhos de inclusão personalizados

1

Então eu tenho uma configuração de projeto maluca (bem, é apenas um arquivo que precisa dessa loucura). Primeiro, vou explicar a configuração.

Então eu tenho um arquivo na minha caixa de depósito. Eu quero incluir esse arquivo em um projeto do Kdevelop, mas o resto do código-fonte do projeto está localizado em uma máquina virtual, bem como o próprio ambiente do Kdevelop onde estou trabalhando.

Então, o que fiz foi na árvore de diretórios do projeto para o projeto kdevelop, coloquei um link simbólico para o arquivo na minha caixa de depósito. Para resumir.

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

Então, como você pode ver. Eu tenho um link simbólico em um subdiretório do kdevelop que está ligado fora da árvore do projeto. E eu tenho um diretório de inclusão na raiz do projeto para meus arquivos de inclusão.

Agora, o problema é que quando eu abro o pxaregsmodule.c no editor do kdevelop, ele não reconhece os argumentos de inclusão personalizados porque acha que está abrindo em / home / user / Dropbox. Claro que isso afeta apenas o editor, onde ele não pode codificar completo e acha que está faltando incluir arquivos. Mas não tem a ver com o makefile e a compilação.

Mas existe alguma maneira de fazer o kdevelop não desreferenciar links simbólicos e achar que o arquivo está abrindo em projectroot/modules para que ele possa ver o caminho include? Não consigo usar um link físico porque o arquivo está na minha partição compartilhada, o que ultrapassa os limites de partição.

Alguma solução? Isso estava claro?

    
por Falmarri 02.06.2011 / 23:27

1 resposta

3

Na VM, o pxaregsmodule.c está em /home/user/Dropbox/pxaregsmodule.c ou /home/dknapp/Dropbox/pxaregsmodule.c?

Parece-me que o link simbólico pxaregsmodule.c em /protectroot / modules está quebrado, uma vez que aponta para o diretório errado. O que acontece se você:

tail ~/projectroot/modules/pxaregsmodule.c

Algum código aparece?

Se este for o problema, você pode corrigi-lo desta maneira:

cd ~/projectroot/modules/
rm pxaregsmodule.c
ln -s /home/user/Dropbox/pxaregsmodule.c

(Não usando ln -sf, para maior clareza)

Em qualquer caso, eu recomendo usar um VCS moderno como Mercurial ou Git, se possível. Eles evitarão esses tipos de problemas e, se você pagar pela hospedagem, obterá uma solução acessível de qualquer lugar, com bom backup e segurança. Também é possível configurar seu próprio servidor, ou até mesmo colocar o repositório diretamente no Dropbox e acessá-lo pela rede virtual no computador em questão, embora eu não recomende o último.

    
por 23.06.2011 / 12:44