2017-10-18 141 views
3

我们有一个ndk构建,作为构建的一部分(在一个普通的CMakeLists.txt文件中的add_custom_command中)运行gnu make。当我们在Android Studio 3.0中构建时,构建的错误消息会被部分处理,所以它们在错误窗格中显示为实际错误,但双击它们却什么也不做。如何告诉Android Studio 3.0在哪里可以找到外部ndk源文件?

我们如何告诉Android Studio 3.0在哪里可以找到这些构建引用的源文件? (我们要做的工作转化为cmake的工作几率不会小于零,而且他们涉及许多第三方项目,每个项目都有自己的定制构建系统。 )。

回答

1

这是一种破解,但它解决了主要问题。向您的CMakeLists.txt添加虚拟静态库,例如,

FILE(GLOB_RECURSE 
    DUMMY1_SOURCES 
    /path/to/third-party/project/*.cpp) 

add_library(dummy1 STATIC ${DUMMY1_SOURCES}) 

CMake的将忽略构建在这个静态库,因为主要目标不依赖于它,但这些文件会出现在的Android鉴于CPP节点下。

构建的错误消息是部分处理的,所以它们在错误窗格中显示为实际错误,但双击它们什么也不做。

这就奇怪了,我可以添加格式的消息

message (ERROR " 
    /home/alex/test/jni/Android.mk:10") 

即使文件不属于该项目,不C++,它仍然显示在我的摇篮可点击的链接控制台,并在消息窗口中。

+0

+1,但它实际上并没有解决问题。它确实在Android Studio中添加了符号(因此您可以使用导航到符号的方式),但它不会连接错误,因此您可以单击该错误并跳转到源代码。 –

+1

有趣的是,你确实在文件中出现了红色的小圆点,所以这绝对值得你去做。尽管开始小 - 试图批量添加我们的系统中的每个* .c文件从来没有完成导入;我最终只是为我正在编写的特定部分引入文件。 –

+0

re:但双击错误消息 - 请参阅更新 –

相关问题