2016-05-12 8 views
0

Android ndkの入力ファイルのパスには既知の制限はありますか?私は、入力パスが155文字以上のアンドロイドg ++コマンドがファイルを見つけることができない問題に遭遇しました。Android ndkソースファイルの入力パスの制限

私のベースディレクトリに戻ってきたローカルパスはかなり深いですが、いくつかのケースでは、jniプロジェクトのソースファイルに完全なパスが戻っていますので、パスは少し長くなりますが、155は非常に高い限界。ここ

LOCAL_PATH := $(call my-dir)/../../../../../../../../../..

155文字で、障害の例である:

/cygdrive/c/java/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c jni/VECodecG723/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/././VECodecG723/VECodecG723.cpp 
jni/VECodecG723/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/././VECodecG723/VECodecG723.cpp:26:17: fatal error: jni.h: No such file or directory 
#include <jni.h> 

繰り返す../gen:153文字で、

/cygdrive/c/java/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c jni/VECodecG723/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/./././VECodecG723/VECodecG723.cpp 
arm-linux-androideabi-g++.exe: error: jni/VECodecG723/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/../gen/./././VECodecG723/VECodecG723.cpp: No such file or directory 
arm-linux-androideabi-g++.exe: fatal error: no input files 

成功ケース実際のパスには10 ../が含まれていて、次にファイルへの完全なパスが含まれています。

私は通常のg ++​​コンパイラでパスを試しましたが、パスの長さのために失敗しません。私はまた、アンドロイドg ++でWindowsのコマンドシェルでこれを試してみましたが、同じ問題があります。

フォルダの名前を変更することができますか?

答えて

0

私はこれをもう一度見て、それを理解しました。私はWindowsの最大パスの長さ、260文字程度で走っていました。ソースファイルへの絶対パスを形成するベースパスを追加したとき、ブレークポイントはウィンドウの周りにありました。 LinuxやMacでビルドする以外には、これを回避する方法はありません。

関連する問題