>
出错原因:任务“:app:ExternalNativeBuildDebug”执行失败。
生成命令失败。执行带有参数的'C:\users\lucien.moor\appdata\local\android\sdk\cmake\3.6.3155560\bin\cmake.exe'时出错{--build C:\users\lucien.moor\deskt\tmp\myapplication2\app.externalnativeBuild\cmak\debug\tmp\myapplication2\externalnativeBuild\cmak\mipg\mipg\mips64-target native-lib}[1/2]构建CXX对象cmakefiles cien.moor\appdata\local\android\sdk\ndk-bundle\toolchains\llvm\prebuild\windows-x86_64\bin\clang++.exe--target=mips64el-none-linux-android--gcc-toolchain=c://users/lucien.moor/appdata/local/android/sdk/ndk-bundle/doolchains/mips64el-linux-android-4.9/prebuilt/windows-x86_64-sysroot=21/arch-mips64-fpic-g-dandroid-ffunction-sections-funwind-tables-fstack-protector-strong-no-canonical-prefixes-wa,--noexecstack-wformat-werror=format-security-g-dandroid-ffunction-sections-funwind-tables-fstack-protector-strong-no-canonical-prefixes-wa,--noexecstack-wformat-werror=format-security-o0-fno-limit-debug-info-o0-fno-limit-debug-info-o0-fno-limit-debug-info-wl,--build-id-wl,--warn-shared-textel-wl,--fatal-warning-wl,-undefined-wl,-z,noexecstack-qunused-arguments-wl,-z,relro-wl,-z,now-shared-wl,-soname,libnative-lib.so-o..............\build\meditiates\cmake\debug\obj\mips64\libnative-lib.so cmakefiles/native-lib.dir/src/main/cpp/native-lib.cpp.o-llog-lm“c:.”cmakefiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:In functionjava_he_1arc_myapplication2_mainactivity_stringfromjni':c:\users\lucien.moor\desktop\tmp\myapplication2\app\src\main\cpp/native-lib.cpp:10:
helloworld::helloworld()'clang++.exe:错误:链接器命令失败,退出代码为1(使用-v查看调用)忍者:构建停止:子命令失败。
try:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
我认为在链接.h和.cpp文件时有问题。当我尝试内联实现我的构造函数时,它工作得很好。它只是找不到。cpp实现。
以下是我的JNI native-lib.cpp文件:
#include <jni.h>
#include <string>
#include "HelloWorld.h"
extern "C"
jstring
Java_he_1arc_myapplication2_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
HelloWorld t;
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
#ifndef MYAPPLICATION2_HELLOWORLD_H
#define MYAPPLICATION2_HELLOWORLD_H
class HelloWorld {
public:
HelloWorld();
};
#endif //MYAPPLICATION2_HELLOWORLD_H
#include "HelloWorld.h"
HelloWorld::HelloWorld() { }
我找到解决办法了!
正如消息所建议的,我必须在cmakelists.txt中添加我的文件。Headers文件不是必需的,但是必须在cmakelists.txt中添加。cpp文件
为了允许链接器查找实现文件,我必须添加
src/main/cpp/HelloWorld.cpp in my CMakeLists.txt
cmake_minimum_required(VERSION 3.4.1)
add_library( # Sets the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
# Associated headers in the same location as their source
# file are automatically included.
src/main/cpp/native-lib.cpp
src/main/cpp/HelloWorld.cpp)
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log )
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib} )
问题内容: 用Java开发一个简单的井字游戏。 我有一个名为的课程。此类应包含有用的游戏方法。游戏发生在另一个班级。 中的方法是。该方法应该将所有9个按钮(井字游戏板)上的文本设置为空白,再次将它们设置为启用,然后将变量设置为1。 这是它的代码: 是游戏主类中的JButtons数组。 该方法以前在游戏的主要类中使用。但是现在它在不同的类中,它无法到达该类中的按钮并对其进行操作。 我在中创建了get
本文向大家介绍如何在C#中创建StringBuilder?,包括了如何在C#中创建StringBuilder?的使用技巧和注意事项,需要的朋友参考一下 要在C#中创建StringBuilder,代码如下- 示例 输出结果 这将产生以下输出- 示例 让我们看另一个例子- 输出结果 这将产生以下输出-
我有两个bean类--乡村和城市。我需要在乡村班保留城市名单。另外,当我设置城市信息时,我需要设置国家名称,所以在城市类中也需要国家。怎么做?以下是代码: country.java
问题内容: 我想编写一个检查目录是否存在的程序;如果该目录不存在,那么它将在其中创建目录和一个日志文件,但是如果该目录已经存在,则它将在该文件夹中创建一个新的日志文件。 我如何在Linux中用C做到这一点? 问题答案: 看看检查,如果该目录存在, 和,创建目录。 您可以使用和命令查看这些功能的手册。
我正在用JavaStruts开发一个博客,我想知道什么时候打开一篇文章(所有记录都由数据库显示),而不是如何让链接看到下一篇文章和上一篇文章。 请帮我做链接。
问题内容: 我正在尝试开发在线酒店预订系统。我有一个主类,它从用户那里获取输入信息,例如他们的姓名,他们的付款信息和其他数据字段,并使用该信息作为对象。我有另一个名为的类,其中包含每个对象的列表。我遇到的问题是我无法找出一种将对象添加到对象列表中的方法。这是一些代码: 我不知道如何获取新对象作为类中方法的参数传递。我只是束手无策,希望有人能帮助我慢跑。 谢谢你的帮助。 问题答案: 让makeRes