Eclipse:为c项目添加外部lib不起作用

时间:2013-08-20 14:29:45

标签: c eclipse library-path

我做了以下事情:

  1. 创建新的c项目(使用现有代码的Makefile项目)
  2. 添加了我的Makefile抱怨的构建变量
  3. 现在我的源.c文件抱怨#include文件,因为它不知道lib文件夹的位置,我尝试将lib文件夹添加到库路径(DID NOT WORK)。
  4. 如何将项目链接到外部lib文件夹,以便我的.c源文件可以读取#include所需的.h文件?

    我添加了路径和符号的库路径 - >包括但是当我回到项目时它只显示根文件夹而且里面没有任何内容。我是否还必须添加每个个人.so lib文件?

2 个答案:

答案 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文件夹

像个傻瓜一样工作!