好的,所以我一直在使用 Visual Studio Express 2013 为 Pure Data 开发外部组件,一切都很好。一切都可以编译,工作等等。
但是现在我面临着必须对 Android 的外部进行特定的编译(与 libPD 一起使用),这意味着我将不得不使用 Android NDK。我为 NDK 找到的所有指南都使用 Eclipse,因此我决定将代码放入 Eclipse 并开始使用它。
我之前安装了 Eclipse 以尝试在 Android 开发中进行一些尝试,这意味着我只需要安装 Make、Gcc 和 Gdb。通过 Cygwin 这样做,重新启动 Eclipsed,一切似乎都工作正常(当尝试编译一个空项目时,所有调用都没有错误并且项目编译)。
将基本的“helloworld”项目源导入新创建的 Eclipse C 项目,并在尝试包含“m_pd.h”时出现(如预期的那样)错误。在 google 和 eclipse 文档中搜索库包含,在包含路径、库路径(链接器-> 库设置)中进行了尝试,除了将其添加到包含路径之外,它无法与任何其他解决方案一起正常工作。将 Pure Data src 文件夹添加到项目的包含路径中,并且错误消失了。
但是,当我尝试编译项目时,所有 PD 方法和函数都会出现未定义的引用错误(post、pd_new、gensym 等),这表明编译器无法正确访问库...
作为一个完全的 Eclipse 新手用户,我想知道我是否错过了一些步骤或者我做错了什么......
内部和外部编译器似乎都会发生相同的错误。外部(cygwin gcc)在链接阶段显示错误(在“Invoking: Cygwin C Linker”行之后)
更新:在我将包含路径添加到 cygwin 链接器库路径后,编译错误消失了。现在在makefile命令上出现“意外令牌'('附近的语法错误”错误:gcc -shared -o“dataIn.dll”./src/dataIn.o -lC:/Program\ Files\ (x86)/Pure\ Data/源代码
是否因为路径中的“(”而变得奇怪?