【问题标题】:Eclipse setup for Pure Data external creation用于 Pure Data 外部创建的 Eclipse 设置
【发布时间】:2015-06-15 01:19:54
【问题描述】:

好的,所以我一直在使用 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/src

是因为路径中的“(”而变得奇怪吗?

【问题讨论】:

    标签: c eclipse include puredata


    【解决方案1】:

    gcc 和 GNU make 在处理包含路径中的空格方面享有盛誉。

    简短的回答是:不要!

    将 Pd 解压缩到一个不包含空格、括号、星号和可怕的AUX 的地方很容易。例如

    C:\Pd\
    

    【讨论】:

    • 这样做了,但无济于事。
    • 最后我只是采用了 PD 网站中提供的 makefile 模板,并让它与命令行“make”和 Android 外部的 ndk-build 一起工作......将再次尝试获得 Eclipse 100%无论如何工作,保持一切井井有条会容易得多..
    • 另外值得注意的是,Eclipse 工作区和 ndk 路径也应该在一个“正常的地方”,没有任何疯狂的字符和空格。 NDK 根本不适用于带有空格的路径。
    【解决方案2】:

    为了记录,如果有人偶然发现这个问题,问题是使用 Cygwin,因为它需要一个 dll (cygwin1.dll) 来运行用它编译的任何东西。 最后改用 MingW,一切正常。

    Umlaute 关于文件路径和目录的建议对于确保正确编译也非常重要。

    【讨论】:

      猜你喜欢
      • 2020-09-30
      • 1970-01-01
      • 2010-12-21
      • 2023-03-24
      • 1970-01-01
      • 2012-11-28
      • 2013-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多