在Eclipse CDT中设置库

时间:2014-07-12 14:25:52

标签: c++ eclipse-cdt

我正在创建一个需要使用libnoise标头的项目。但是我编译有困难。

我已将标题放入项目的src /目录中,因此我可以将它们包含在

#include "noise/noise.h"
#include "noise/noisegen.h"
#include "noiseutils.h"

但是当我尝试创建一个Perlin模块noise::module::Perlin perlinModule;时,我收到以下编译错误:

PROJECTDIR\bin/../src/libnoise_wrapper.cpp:66: undefined reference to `noise::module::Perlin::Perlin()'
./src/libnoise_wrapper.o: In function `~Perlin':
PROJECTDIR\bin/../src/noise/module/perlin.h:160: undefined reference to `vtable for noise::module::Perlin'
PROJECTDIR\bin/../src/noise/module/perlin.h:160: undefined reference to `noise::module::Module::~Module()'
PROJECTDIR\bin/../src/noise/module/perlin.h:160: undefined reference to `vtable for noise::module::Perlin'
PROJECTDIR\bin/../src/noise/module/perlin.h:160: undefined reference to `noise::module::Module::~Module()

我创建了一个Project Include对/ src / noise文件夹的引用以及noiseutils.h文件(在src /目录本身中)。

我还缺少其他任何配置吗?

1 个答案:

答案 0 :(得分:1)

  

“我已将标题放入项目的src /目录中,因此我可以将它们包含在”

这不是通常的做法!您应该在您的环境中安装此库(有一些说明如何针对此tutorial from the libnoise online documentation中提供的特定情况执行此操作),并使用

添加其他包含路径以进行搜索
Project Properties->C/C++ Build->Settings-><actual C++ Compiler>->Includes->Include paths (-I)

enter image description here  设置。

  

“我还缺少其他任何配置吗?”

检查

Project Properties->C/C++ Build->Settings-><actual toolchain linker>->Libraries

enter image description here

属性页面。

您需要在noise列表中提供Libraries,最后还有一个Library search path指向实际的libs安装。后者取决于您在环境中安装libnoise的方式和位置。