躺_ 2019-10-29 10:35 采纳率: 0%
浏览 359

linux c++ sds库 提示 undefined reference to `sdsempty()'

报错:
/tmp/cc3R3ayZ.o: In function 'main'
c.cpp:(.text+0x9): undefined reference to 'sdsempty()'
collect2: error: ld returned 1 exit status**

#include <iostream>
#include <unistd.h>
#include <sds.h>
using namespace std;

int main(){

    sds s= sdsempty();

    return 0;
}

我更新了sds文件,然后:

[root@localhost c4]# g++ -std=c++11 -o test -I/wgs/sds  c.cpp
In file included from c.cpp:3:0:
/wgs/sds/sds.h: In function ‘size_t sdsavail(sds)’:
/wgs/sds/sds.h:83:87: error: invalid conversion from ‘void*’ to ‘sdshdr8*’ [-fpermissive]
 #define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (void*)((s)-(sizeof(struct sdshdr##T)));
                                                                                       ^
/wgs/sds/sds.h:111:13: note: in expansion of macro ‘SDS_HDR_VAR’
             SDS_HDR_VAR(8,s);
             ^
/wgs/sds/sds.h:83:87: error: invalid conversion from ‘void*’ to ‘sdshdr16*’ [-fpermissive]
 #define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (void*)((s)-(sizeof(struct sdshdr##T)));
                                                                                       ^
/wgs/sds/sds.h:115:13: note: in expansion of macro ‘SDS_HDR_VAR’
             SDS_HDR_VAR(16,s);
             ^
/wgs/sds/sds.h:83:87: error: invalid conversion from ‘void*’ to ‘sdshdr32*’ [-fpermissive]
 #define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (void*)((s)-(sizeof(struct sdshdr##T)));
                                                                                       ^
/wgs/sds/sds.h:119:13: note: in expansion of macro ‘SDS_HDR_VAR’
             SDS_HDR_VAR(32,s);
             ^
/wgs/sds/sds.h:83:87: error: invalid conversion from ‘void*’ to ‘sdshdr64*’ [-fpermissive]
 #define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (void*)((s)-(sizeof(struct sdshdr##T)));
                                                                                       ^
/wgs/sds/sds.h:123:13: note: in expansion of macro ‘SDS_HDR_VAR’
             SDS_HDR_VAR(64,s);
             ^

这个是啥原因啊?

  • 写回答

1条回答

  • 裸奔的可比克 2019-10-29 11:06
    关注

    #include  <stdarg.h>  //加这个头文件试试,不知道刚刚为啥没显示

    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试