Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gcc 与POCO一起使用共享内存时发生链接错误_Gcc_Linker Errors_Shared Memory_Poco_Poco Libraries - Fatal编程技术网

Gcc 与POCO一起使用共享内存时发生链接错误

Gcc 与POCO一起使用共享内存时发生链接错误,gcc,linker-errors,shared-memory,poco,poco-libraries,Gcc,Linker Errors,Shared Memory,Poco,Poco Libraries,当我用POCO制作一个应用程序时,我发现编译错误有一个奇怪的地方 我已经根据检查其他人的类似问题添加了轻轨。然而,它仍然不起作用 /usr/local/lib//libPocoFoundation.a(SharedMemory.o):函数中 Poco::SharedMemoryImpl::SharedMemoryImpl(标准::u cxx11::基本字符串常量&,无符号长, Poco::SharedMemory::AccessMode,void const*,bool'): SharedMem

当我用POCO制作一个应用程序时,我发现编译错误有一个奇怪的地方

我已经根据检查其他人的类似问题添加了轻轨。然而,它仍然不起作用

/usr/local/lib//libPocoFoundation.a(SharedMemory.o):函数中
Poco::SharedMemoryImpl::SharedMemoryImpl(标准::u cxx11::基本字符串常量&,无符号长,
Poco::SharedMemory::AccessMode,void const*,bool'):
SharedMemory.cpp:(.text+0x2ab):未定义对
shm\u open'的引用 SharedMemory.cpp:(.text+0x31b):对
shm\u unlink'的未定义引用
/usr/local/lib//libPocoFoundation.a(SharedMemory.o):函数中
Poco::SharedMemoryImpl::close()':SharedMemory.cpp:(.text+0x666): 对“shm_unlink”集合2的未定义引用:错误:ld返回1 退出状态生成文件:17:目标“测试”的配方生成失败:*** [测试]错误1

神奇的是,如果我添加一个伪函数,如下所示

int dummy()
{
    const char *memname = "sample";
    const size_t region_size = sysconf(_SC_PAGE_SIZE);
    int fd = shm_open(memname, O_CREAT | O_TRUNC | O_RDWR, 0666);
    if (fd == -1)
        return -1;
    int r = shm_unlink(memname);
    if (r != 0)
        return -1;
}
它成功地建成了

我不明白为什么&我想搜索正式的,以避免这种奇怪的解决办法。 请问有人能帮忙吗

此外,我还检查了libPocoFoundation.a,并找到了两者

  • shm_开放

  • shm_取消链接

  • 属于“符号未定义”


    提前感谢。

    已回答-问题是链接库的顺序(
    -lrt
    之前的
    -lPocoFoundation
    )。

    您有链接错误。我们需要查看失败的链接命令以帮助您。在问题主体中发布完整的构建日志(未编辑)。