Eclipse C++ 将共享库添加到主项目

Eclipse C++ add shared library to main project

我第一次在 Ubuntu 14.02 上使用 Eclipse 3.8.1 和 2 个项目。我来自 c# 世界,所以这可能是 Eclipse 错误或 C++ 概念错误。

testmonitor:一个示例 C++ 项目。代码:

#include <iostream>

using namespace std;

int main() {

     cout << "Test program" << endl;
     log_access::test();

     return 0;
}

log_access 是共享库:log_access.cpp

#include <iostream>

namespace log_access {

    void test()
    {
        std::cout << "It worked!!!" << std::endl;
    }

}

我正在尝试构建一个共享库并将其 link 到主项目。我去了 Project -> Properties -> Project References 并点击了我要引用的项目(共享库)。

没用....

然后我去Project -> Properties -> C/C++ General -> Paths and Symbols -> References Tab点击我要引用的项目(共享库)

没用...

目前我收到以下错误:

Invoking: GCC C++ Compiler
g++ -std:c++0x -I"home/projects/dev/sample/workspace/log_access" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/testproject.d" -MT"src/testmonitor.d" -o "src/testmonitor.o" "../src/testmonitor.cpp"
../src/testmonitor.cpp: In function 'int main()':
../src/testmonitor.cpp:34.3: error: 'log_access' has not been declared
   log_access:test();
   ^
make: *** [src/testmonitor.o] Error 1

13:56:39 Build Finished (took 1s.246ms)

Obs:log_access 编译正常...

非常感谢您对此提供的帮助...

您需要通过

在您的主文件中包含您对 log_access::test 的定义
#include "log_access.h"

假设您有一个名为 log_access 的头文件(您不应包含 .cpp 文件;使用它们来实现在头文件中声明的方法。请参阅 here 了解原因)。