使用Visual C ++ 2015跨平台构建错误

时间:2015-08-01 19:41:09

标签: visual-studio visual-c++ android-ndk visual-studio-2015

我正在使用Visual C ++ 2015中的新跨平台工具为Android构建本机共享库。

我在安装VS2015之前安装了NDK(r10d),因此我选择不在VS的辅助安装程序中安装NDK。相反,安装后我将NDK路径设置为Tools > Options > Cross Platform > Android

我遇到了VS没有找到工具链二进制文件的问题 - 它在arm-linux-androideabi-gcc.exe下寻找[NDK_ROOT]\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin,而在我的安装中文件位于[NDK_ROOT]\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin。为了解决这个问题,我只是将 windows-x86_64 目录重命名为 windows

现在的问题是构建错误不会传播到错误列表视图。相反,我在错误列表中收到一个错误:

Severity    Code    Description                                         Project         File                                                                                                        Line    Source
Error       MSB6006 "arm-linux-androideabi-gcc.exe" exited with code 1. pexeso-android  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Application Type\Android\1.0\Android.Common.targets  194     Build

我可以查看实际错误的唯一地方是输出窗口:

ANDROID_HOME=C:\Dev\Android\android-sdk
ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Apps\apache-ant-1.9.3\
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05
NDK_ROOT=C:\Dev\Android\android-ndk-r10d
pch.h
PexesoAndroid.cpp
PexesoAndroid.cpp: In function 'jint JNI_OnLoad(JavaVM*, void*)':
PexesoAndroid.cpp:7:9: warning: unused variable 'jcPexeso' [-Wunused-variable]
  jclass jcPexeso;
         ^
PexesoAndroid.cpp: In constructor 'PexesoAndroid::PexesoAndroid(JNIEnv*)':
PexesoAndroid.cpp:26:2: error: invalid conversion from 'void (*)(jstring) {aka void (*)(_jstring*)}' to 'void*' [-fpermissive]
  };
  ^
PexesoAndroid.cpp:24:18: warning: unused variable 'method_table' [-Wunused-variable]
  JNINativeMethod method_table[] = {
                  ^
PexesoAndroid.cpp: In function 'jint JNI_OnLoad(JavaVM*, void*)':
PexesoAndroid.cpp:15:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^

但是这个视图是没用的,因为,例如,我不能双击错误并让IDE跳转到相关的行和源文件。

当他们说VS将跨平台时,这真的是他们的意思吗?

0 个答案:

没有答案