链接器标志中的非系统库:-lopencv_java3

时间:2015-10-02 10:30:22

标签: android android-ndk opencv3.0

false文件中,我想要包含public async Task<string> GetData(string query) { var result = string.Empty; try { var KnownHttpVerbType = typeof(System.Net.AuthenticationManager).Assembly.GetTypes().Where(t => t.Name == "KnownHttpVerb").First(); var getVerb = KnownHttpVerbType.GetField("Get", BindingFlags.NonPublic | BindingFlags.Static); var ContentBodyNotAllowedField = KnownHttpVerbType.GetField("ContentBodyNotAllowed", BindingFlags.NonPublic | BindingFlags.Instance); ContentBodyNotAllowedField.SetValue(getVerb.GetValue(null), false); var msg = new HttpRequestMessage(HttpMethod.Get, _dataApiUrl) { Content = new StringContent(query) }; var response = await _httpClient.SendAsync(msg).ConfigureAwait(false); response.EnsureSuccessStatusCode(); result = await response.Content.ReadAsStringAsync(); } catch (Exception exc) { _logger.ErrorException("Something broke in GetData(). Probably a borked connection.", exc); } return result; } 库。所以文件看起来像这样:

android.mk

android.mk

但是当我构建项目时,我收到了这条警告信息:

OpenCV3

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

如果您只使用C ++代码中的OpenCV,则不需要此libopencv_java.so。要表明这一点,请添加

OPENCV_LIB_TYPE=STATIC

包括OpenCV.mk之前。

可以在answers.opencv.org找到一些解释。

答案 1 :(得分:2)

Try using LOCAL_STATIC_LIBRARIES or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the current module

根据您拥有的版本(静态/ dylibs),将LOCAL_LDLIBS更改为LOCAL_STATIC_LIBRARIESLOCAL_SHARED_LIBRARIES

Android.mk是对Android makefile中变量的一个很好的引用