你如何告诉 Android Studio 3.0 在哪里可以找到外部 ndk 源文件?
How do you tell Android Studio 3.0 where to find external ndk source files?
我们有一个 ndk 构建,作为构建的一部分(在一个普通 CMakeLists.txt 文件中的 add_custom_command 中)运行一个 gnu make。当我们在 Android Studio 3.0 中构建时,构建的错误消息被部分处理,因此它们在错误窗格中显示为实际错误,但双击它们没有任何反应。
我们如何告诉 Android Studio 3.0 在哪里可以找到这些构建引用的源文件? (我们将完成将它们转换为 cmake 所需的工作的可能性小于零。它们一点也不小,并且涉及许多第三方项目,每个项目都有自己的自定义构建系统。 ).
这是一种 hack,但它解决了主要问题。将虚拟静态库添加到您的 CMakeLists.txt,例如
FILE(GLOB_RECURSE
DUMMY1_SOURCES
/path/to/third-party/project/*.cpp)
add_library( dummy1 STATIC ${DUMMY1_SOURCES})
CMake在构建时会忽略这个静态库,因为主目标不依赖它,但是文件会出现在ANdroid 在cpp节点下查看。
the error messages for the build are partially processed, so they show up in the error pane as actual errors, but double-clicking on them does nothing.
这很奇怪,我可以添加格式为
的消息
message (ERROR "
/home/alex/test/jni/Android.mk:10")
即使该文件不属于项目,也不是 C++,它仍然在我的 Gradle 控制台和消息 window 中显示为可点击的 link .
我们有一个 ndk 构建,作为构建的一部分(在一个普通 CMakeLists.txt 文件中的 add_custom_command 中)运行一个 gnu make。当我们在 Android Studio 3.0 中构建时,构建的错误消息被部分处理,因此它们在错误窗格中显示为实际错误,但双击它们没有任何反应。
我们如何告诉 Android Studio 3.0 在哪里可以找到这些构建引用的源文件? (我们将完成将它们转换为 cmake 所需的工作的可能性小于零。它们一点也不小,并且涉及许多第三方项目,每个项目都有自己的自定义构建系统。 ).
这是一种 hack,但它解决了主要问题。将虚拟静态库添加到您的 CMakeLists.txt,例如
FILE(GLOB_RECURSE
DUMMY1_SOURCES
/path/to/third-party/project/*.cpp)
add_library( dummy1 STATIC ${DUMMY1_SOURCES})
CMake在构建时会忽略这个静态库,因为主目标不依赖它,但是文件会出现在ANdroid 在cpp节点下查看。
the error messages for the build are partially processed, so they show up in the error pane as actual errors, but double-clicking on them does nothing.
这很奇怪,我可以添加格式为
的消息message (ERROR "
/home/alex/test/jni/Android.mk:10")
即使该文件不属于项目,也不是 C++,它仍然在我的 Gradle 控制台和消息 window 中显示为可点击的 link .