我已经在/opt/hypertable/current/
中安装了超文本,我运行了一个来自超级...的示例程序。
#include <Common/Compat.h>
#include <iostream>
#include <fstream>
#include <string>
#include <Common/System.h>
#include <Common/Error.h>
#include <Hypertable/Lib/Client.h>
#include <Hypertable/Lib/KeySpec.h>
using namespace Hypertable;
int main(int argc, char* argv[]) {
ClientPtr client_ptr;
TablePtr table_ptr;
TableMutatorPtr mutator_ptr;
KeySpec key;
const char* install_dir = "/opt/hypertable/current/";
client_ptr = new Client( System::locate_install_dir(install_dir) );
}
我收到了这个错误
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/testes.d" -MT"src/testes.d" -o"src/testes.o" "../src/testes.cpp"
../src/testes.cpp:1: fatal error: Common/Compat.h: No such file or directory
我使用eclipse CDT进行开发,并使用项目Properties->c/c++build->setting->Libraries->LibrarySetPath(-L)
进行链接,并且我已将HyperCommon also in -l
设置为/opt/hypertable/current/include/
我将其设置为{{1}}任何人都可以告诉我您收到此错误...
答案 0 :(得分:0)
构建软件时需要设置两个不同的路径: include 路径和库路径。你似乎让他们感到困惑。
包含路径是查找所有.h
文件的路径。如果你有一个包含路径问题,它将在编译时(构建每个单独的.o文件时)显示,这就是你所看到的。 “Common / Compat.h:没有这样的文件或目录”意味着您可能错过了包含路径。
库路径是在链接时查找DLL /共享对象文件的路径。如果您有库路径问题,它将在链接时显示(从.o文件创建最终可执行文件时)。你没有达到编译阶段。
所以做LibrarySetPath并设置-l
或-L
是一个链接器/库事物;你想修复包含路径。
最有可能的是,您希望将/opt/hypertable/current/include/
添加到包含路径(在Eclipse中)。在GCC命令行中,这将使用-I /opt/hypertable/current/include/
完成,而不是-L
。
答案 1 :(得分:-1)
你想将/ opt / hypertable / current / include / ThriftBroker / gen-cpp添加到包含路径 你还得一起编译/选择/ Hypertable的/当前/包含/ ThriftBroker / GEN-CPP下的CPP文件