好的,所以我一直在使用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"时得到(如预期的)错误。搜索谷歌和eclipse文档以包含库,在包含路径,库路径(链接器 - >库设置)中尝试它,并且除了将其添加到包含路径之外,无法使其与任何其他解决方案一起使用。将Pure Data src文件夹添加到项目的包含路径中,错误就消失了。
但是,当我尝试编译项目时,所有PD方法和函数都会得到未定义的引用错误(post,pd_new,gensym等等),这些错误指向编译器无法正确访问库... < / p>
作为一个全新的Eclipse新手用户,我想知道我是否错过了一些步骤或者我是否做错了什么......
内部和外部编译器似乎都会发生相同的错误。外部(cygwin gcc)在链接阶段显示错误(&#34;调用:Cygwin C Linker&#34;行)
更新:在我添加了包含cygwin链接器库路径的路径后,编译错误消失了。 现在在意外令牌附近出现&#34;语法错误`(&#39;&#34; makefile命令错误: gcc -shared -o&#34; dataIn.dll&#34; ./src/dataIn.o -lC:/ Program \ Files \(x86)/ Pure \ Data / src
因为那个而变得怪异#34;(&#34;在路径中?
答案 0 :(得分:1)
gcc和GNU make在包含路径中的空格处理方面有着良好的声誉。
简短的回答是:不要!
很容易将Pd解压缩到一个理智的地方,它不包含空格,paranthesis,星号和可怕的AUX
。例如
C:\Pd\
答案 1 :(得分:0)
对于记录,如果有人偶然发现这个问题,问题是使用Cygwin,因为它需要一个dll(cygwin1.dll)来运行用它编译的任何东西。 结束切换到使用MingW,一切正常。
Umlaute关于文件路径和目录的建议非常重要,以确保正确的编译。