c++ -/usr/bin/ld :/tmp/cc9zxSDP. o: undefined symbol 引用

标签 c++ gcc ignite

我在编译 .cc 文件时遇到以下编译错误。我正在使用 apache ignite 库和 c++ 库进行编译,并指定了 jdk 路径。

#include <iostream>
#include "ignite/ignite.h"
#include "ignite/ignition.h"
using namespace ignite;
using namespace cache;

int main()
{
    IgniteConfiguration cfg;
    cfg.jvmInitMem = 512;
    cfg.jvmMaxMem = 512;
    cfg.springCfgPath = "/home/ignite/DataGridTest.xml";
    try
    {
        Ignite grid = Ignition::Start(cfg);

        std::cout << std::endl;
        std::cout << ">>> Cache put-get example started." << std::endl;
        std::cout << std::endl;

        Cache<int, int> cache = grid.GetCache<int, int>("mycache");

        cache.Clear();
        cache.Put(1, 1);
        int orgFromCache = cache.Get(1);

        std::cout <<  ">>> Retrieved value from cache: " << std::endl;
        std::cout << orgFromCache << std::endl;
        std::cout << std::endl;

        Ignition::StopAll(false);
    }
    catch (IgniteError& err)
    {
        std::cout << "An error occurred: " << err.GetText() << std::endl;
    }

    std::cout << std::endl;
    std::cout << ">>> Example finished, press 'Enter' to exit ..." << std::endl;
    std::cout << std::endl;

    return 0;
}

在命令行中:

gcc -I /usr/java/jdk1.8.0_131/include/ -I 
/usr/java/jdk1.8.0_131/include/linux/ -I 
$IGNITE_HOME/platforms/cpp/jni/include/ -I 
$IGNITE_HOME/platforms/cpp/core/include/ -I 
$IGNITE_HOME/platforms/cpp/common/os/linux/include/ -I 
$IGNITE_HOME/platforms/cpp/examples/include/ DataGridTest.cc -o DataGridTest -lignite

/usr/bin/ld: /tmp/cc9zxSDP.o: undefined reference to symbol '_ZN6ignite3jni4java12JniErrorInfoD1Ev'
/usr/local/lib//libignite-jni-2.0.0.19668.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

最佳答案

除了 libignite 你还需要链接到 libignite-binary, libignite-commonlibignite-jni.

关于c++ -/usr/bin/ld :/tmp/cc9zxSDP. o: undefined symbol 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44653920/

相关文章:

c++ - 如何在屏幕上绘制一些东西并使底层 ui 交互

gcc - 警告 : cast to/from pointer from/to integer of different size

java - 查询游标如何工作

c++ - c++ 中的 &(*a) 操作,违反直觉?

C++ winAPI 基础 - 通过窗口切换

c++ - 如何区分这两个插入函数

c++ - GCC 会优化掉内联访问器吗?

c++ - 复合文字并通过GCC在C++中通过引用传递?

java - 修改并运行 Apache Ignite 的示例

java - Ignite for Hibernate L2 非常慢