#include "PDL.h"
然后,我尝试编译:
arm-none-linux-gnueabi-gcc -I/cygdrive/c/PalmPDK/include -I../lua-5.1.4/lua-webos/include -O2 -Wall -shared -nostdlib -mcpu=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp -lpdl
但它说:
PDL.h:没有这样的文件或目录
我可以更改为上面指定的include目录,看看PDL.h在那里,但是GCC看不到它。
答案 0 :(得分:4)
/ cygdrive是cygwin特有的,所以如果没有编译gcc来使用cygwin unix仿真层,它就不会搜索它。尝试使用-IC:/PalmPDK/include
。
答案 1 :(得分:0)
#include "file.h"
语法在当前目录中查找,然后在头文件的默认包含目录中查找。而是使用#include <file.h>
语法来获取命令行中指定的目录。
如果要使用quoted-filename语法,请使用 -iquoteFOLDER_PATH
到point to your include directory on the command-line的语法。
编辑:鉴于您对makefile的评论,请确保您已在makefile中设置(和export
)SHELL
变量。在Windows下运行Cygwin时,可以将其设置为cmd.exe或Cygwin bash(如果包含每个的完整路径,则效果最佳)。您在SHELL
变量中列出的任何环境都将用于执行makefile中的命令。您可以使用任何您想要的shell,只需确保指定其中一个,这样您就可以确定您使用的是给定shell的正确路径样式。为了更好地衡量,还要使用相同的值设置(和export
)MAKESHELL
变量。
答案 2 :(得分:0)
如果路径中有空格,则需要使用双引号将其转义或包围路径。
答案 3 :(得分:0)
假设您使用的是Linux机器或某种Unix:
ls -l /
ls -l /cygdrive
ls -l /cygdrive/c
ls -l /cygdrive/c/PalmPDK
ls -l /cygdrive/c/PalmPDK/include
您可能会在上面列出的其中一个命令的结果中找到答案。