我做了以下事情:
如何将项目链接到外部lib文件夹,以便我的.c源文件可以读取#include所需的.h文件?
我添加了路径和符号的库路径 - >包括但是当我回到项目时它只显示根文件夹而且里面没有任何内容。我是否还必须添加每个个人.so lib文件?
答案 0 :(得分:1)
在这里回答:How do you add libraries to Eclipse CDT? (No such file or directory)
@cyfur01有最好的答案:
添加内容取决于您要包含的内容。如果是 Boost,有一些只有头的库,还有一些 需要在静态/共享对象库中进行链接的库 (例如,序列化)。仅标题库
对于仅标头库,您只需要包含基目录 所有头文件。使用gcc,您可以使用-I添加目录 flag(例如,-I C:/ path / to / boost_52_0)。使用托管的makefile项目 在Eclipse中,您可以使用Properties>完成相同的操作。 C / C ++ Build
设置>工具设置> GCC C ++编译器>目录静态/共享对象库
对于静态/共享对象库,您必须指定两个选项:
-l --> The name of the library, less the 'lib' prefix and the file suffix (e.g., libboost_serialization.dll -> boost_serialization -L --> The directory to look for the library file in. This is only needed if the library is on a non-standard path.
正如@Chris指出的那样,对于托管的makefile项目,这两个都是 可以通过属性>设置选项。 C / C ++ Build>设置>工具 设置> GCC C ++链接器>库
答案 1 :(得分:0)
(1)一开始我有一个source.c和一个MAKEFILE (2)创建新的c项目(使用现有代码的Makefile项目) (3)MAKEFILE抱怨变量,所以我将它添加到环境变量中 (4)抱怨#include文件,所以我添加了外部库 (a)我找到了我的库路径,发现/ lib之前有一个文件夹叫include (b)include文件夹有一个头文件列表 (c)所以我添加了包含文件夹的路径,而不是路径和符号包含的lib文件夹
像个傻瓜一样工作!