$ (shell [foo]) no windows

1

Eu tenho um makefile (um arquivo chamado 'Makefile' que é executado pelo cmake, eu acredito), e a maioria dos exemplos que eu vejo são apenas uma linha (e o resto parece ser algo que eu não vejo) 'ainda' entender e, em seguida, esta mesma linha.

include $(shell rospack find mk)/cmake.mk

(no terminal rospack find [package] retorna o caminho para o pacote, e cmake.mk é obviamente o arquivo que ele quer incluir)

meu problema é que isso parece (pelo menos para mim) ser escrito para uso em um sistema linux (que basicamente é a totalidade do ros, o programa com o qual estou trabalhando), e no windows isso aparece apenas tentar ser

include /cmake.mk

(o que, sem surpresa, não funciona)

Basicamente eu preciso saber como fazer a mesma coisa no windows, geralmente de uma maneira 'dinâmica', pois isso só causaria mais problemas se eu conseguisse trabalhar codificando o caminho do diretório e então quebra porque não está definido corretamente em algum momento no futuro)

Ok, estou um pouco fora da minha profundidade aqui ... mas eu realmente preciso fazer algo funcionar o mais rápido possível, de modo que eu tenha um pouco de folga para aprender mais sobre minha semana de folga no Natal.

então eu acho que se isso não for possível / é particularmente difícil, uma maneira de codificar seria um paliativo

Eu tentei

include C:\[directory]\cmake.mk

mas parece ter problemas com o ':'

    
por Reian_West 11.12.2013 / 21:05

1 resposta

0

Primeiro, verifique se simplesmente dizer rospack find mk no terminal funciona; você pode precisar primeiro ajustar seu %PATH% .

Em seguida, vamos substituir essa linha include por algo que use o suporte executável entre plataformas de cmake :

execute_process(COMMAND ${CMAKE_COMMAND} -E rospack find mk OUTPUT_VARIABLE ROSMKDIR)
include ${ROSMKDIR}/cmake.mk

(Dica do chapéu para esta resposta que encontrei no stackoverflow)

    
por 13.12.2013 / 16:27