Precisa encontrar o jni.h no cmake no Mac

1

Estou tentando fazer a compilação do VTK em uma máquina Mac Air. Estou usando o CMake 2.8-9, usando o Xcode4 como gerador. Se eu pressionar o botão Configurar com VTK_WRAP_JAVA não marcado, ele irá sem erros. No entanto, eu definitivamente preciso usar o wrap java desde que o meu programa principal é em Java e eu preciso chegar ao VTK, que é c + +.

Assim que eu verificar o wrap Java, eu não consigo encontrar JNI. Aparentemente, ele está procurando por jni.h, que no Linux não há problema em encontrar, mas no Mac, aparentemente, não consegue encontrá-lo.

Eu fiz um locate jni.h e consegui

new-host-2:~ geraldkolodny$ locate jni.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/include/jni.h

Eu tentei colocar manualmente em JAVA_INCLUDE_PATH2 a entrada 2 ou 3 (sem o jni.h no final), mas ainda não consigo encontrar jni.h.

O Xcode costumava ter um modelo para jni, mas este agora desapareceu na última versão. Eu estou fresco fora de idéias sobre como resolver este problema. Eu ficaria grato por qualquer sugestão.

    
por Ilan Tal 15.10.2012 / 13:12

1 resposta

1

Estou tentando usar o SWIG para criar uma interface Java para um algoritmo numérico C ++ que desenvolvi. Consegui fazer isso com sucesso no trabalho (em um blade Linux), mas tive um problema ao fazer isso no meu mac em casa, porque quando eu executava meu pequeno script de compilação para compilar a classe wrapper SWIG, eu também recebia uma reclamação sobre o incapacidade de encontrar jni.h.

Depois de procurar páginas de documentos e suporte para apple, consegui localizar jni.h no meu sistema aqui:

/System/Library/Frameworks/JavaVM.framework/Headers/jni.h

(isso também pode ser o resultado de ter instalado anteriormente as ferramentas de desenvolvedor e o tempo de execução Java)

quando adicionei este caminho de inclusão no meu script de construção:

g++  -fpic -I. -I/System/Library/Frameworks/JavaVM.framework/Headers -c *cpp

essa reclamação de erro foi embora. Não é exatamente o mesmo problema de desenvolvimento, mas talvez se você fizer referência a esse local para jni.h, seu erro de compilação também poderá desaparecer.

    
por 19.12.2012 / 05:10

Tags