我正在试图使用CDT插件从eclipse构建我的NDK项目,我得到了错误: -
NDK (Cannot run program "ndk-build": Unknown reason)
应用程序运行但我松开了构建过程的所有控制台输出,这在尝试编译时是一个噩梦,我必须在命令行上执行此操作。
这就是我到达那里的方式: -
I Downloaded and installed the CDT plugin for Eclipse.
然后:
Added my JNI folder and also your Android.mk in the JNI directory.
然后:
Go FILE / NEW / OTHER /C/C++ / ( Convert to a C/C++ Project )
在设置构建目标时:
Check the project, choose MakeFile Project and Other Toolchain click NEXT
最后在项目属性中:
PROJECT / PROPERTIES / C/C++ uncheck " use default build command" replace "make" with "ndk-build"
然后在构建时将错误吐出到控制台。虽然它编译并使得在设备上运行的构建我看不到任何构建输出。
我的.bash_profile中有“ndk-build”,其中包含以下变量:
:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$ANDROID_NDK
我可以使用命令行中的ndk-build编译。似乎Eclipse无法看到我的路径:
这是在Mac OSX上,在Helios版本2中。
编辑:好的,所以这个编译很好,而且构建的输出实际上隐藏在这条消息的下面,这远非理想,因为当我需要审查已构建的项目时我不能掩盖它。我怎么摆脱它?答案 0 :(得分:13)
就我而言,我必须在eclipse中给出我的ndk-build命令的完整路径才能构建它:
Eclipse - >你的Prj - >右键单击 - > C / C ++ Build - > "生成器" group:" Build命令"的值应该是完整的路径,如下所示(而不仅仅是" ndk-build")
/ Users / vshakya / MySoftware / android-ndk-r8 / ndk-build
我希望将来能帮助别人,因为我浪费了30分钟来解决这个问题。
答案 1 :(得分:5)
请参阅此链接以获取android
中的NDK配置http://odroid.foros-phpbb.com/t181-how-to-install-android-ndk
答案 2 :(得分:4)
这可能看起来很愚蠢,但你要检查一下是否有几个游戏机?我可以想象你引用的消息有一个,构建输出的另一个消息。
另见this:答案有一个有趣的链接,处理设置但也与eclipse集成有关。
答案 3 :(得分:4)
我遇到了同样的问题,尽管在http://developer.android.com/tools/sdk/ndk/index.html#Installing处安装NDK的描述很好,但它并不能解决这个常见问题。
Eclipse似乎允许您在多个位置配置内容,您可以通过“窗口”菜单或项目特定配置通过“属性”选项进行全局修改。最简单的是在{Properties;}中为ndk-build(windows的ndk-build.cmd)添加完整路径。 C / C ++ Build}构建命令框。
答案 4 :(得分:3)
更简单的解决方案,使用eclipse项目路径中的命令ndk-build构建:
$PROJECT>ndk-build
每当您更改本机代码时。
要在eclipse上编译,我按照接下来的步骤进行操作:
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := $$Add source files$$ LOCAL_LDLIBS := -lpcap LOCAL_MODULE := libtest LOCAL_C_INCLUDES := $$Path of the header files used$$ include $(BUILD_SHARED_LIBRARY) ---------------- Aplication.mk depends that the type of options you want
下次编译时,将调用ndk-build V = 1,编译本机代码,然后编译Android部件。
注:
您必须能够在系统上的所有文件夹中使用ndk-build。该命令检测已调用的位置,并查找jni文件夹,以使用Android.mk编译所有本机代码。
寻找的基本结构是:
但您可以修改Android.mk以查找其他路径中的代码。
我希望它可以帮到你!
答案 5 :(得分:3)
Sequoya是你的朋友。自Indigo发布以来,它就是Eclipse的一部分。
答案 6 :(得分:3)
就我而言,我必须在eclipse中给出我的ndk-build.cmd命令的完整路径才能构建它:
Eclipse - >你的Prj - >右键单击 - > C / C ++ Build
C:\ Prateek \ android-ndk-r9 \ ndk-build.cmd
答案 7 :(得分:2)
万一你以某种方式只看到你的stdout而不是stderr,试着将你的stderr重定向到stdout。
ndk-build 2>& 1
答案 8 :(得分:1)
确保在windows中使用“absolutepath \ ndk-build.cmd”而不是“absolutepath \ ndk-build”。 它添加.cmd后无错误编译
答案 9 :(得分:0)
除了系统环境。
在Eclipse中,您还需要转到首选项 - > c / c ++ Build - >环境。添加名为“NDKROOT”的新变量,并将值设置为NDK安装路径。
这适合我。