我创建了一个简单的项目来学习如何创建静态库。我在 CodeLite 中创建了一个新工作区、一个新项目和一个新静态库。
在我拥有的静态库中,在“include”文件夹内有一个名为 .h 的文件helloworld.h
,在“src”文件夹内有一个名为 .c 的文件helloworld.c
。输出文件在工作空间内名为 lib (../lib) 的文件夹中生成。
在同一个工作区中,我有一个带有 .c 文件的项目,其中 helloworld 用 .c 调用#include "helloworld.h"
。最后,项目的设置是:
链接器菜单:
库搜索路径:../lib 库:
一般菜单:
当我编译项目时,出现以下错误:
fatal error: 'helloworld.h' file not found
项目编译没有问题的唯一方法是在包含参数中获取文件的相对路径:
#include "../HelloWorldLib/include/helloworld.h"
我想知道是否有一种无需添加文件路径即可工作的方法。我在 MAC OS 10.9.5 中使用 CodeLite。同样的问题也出现在 Ubuntu 中。
我的老师解释说这在 CodeLite Windows 中不会发生,但他不知道在 Mac 中会发生什么。此外,不必使用包含参数中的路径。