首页 文章

使用C代码链接错误以连接到Monetdb

提问于
浏览
1

我试图编译here所示的代码:

但是我收到了链接错误 .
我试过提到here的解决方案 .

但同样,我收到了这个错误:

gcc main.c -I / usr / include / monetdb -lmapi /usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined reference to SHA224_Update'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined reference tomnstr_settimeout'/ usr / lib / gcc / x86_64-linux -gnu / 7 /../../../../ lib / libmapi.so:对socket_rastream的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../ . ./../lib/libmapi.so:undefined reference tomnstr_destroy'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined reference to SHA384_Init'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so: undefined reference toMD5_Final'/ usr / lib / gcc / x86_64-linux -gnu / 7 /../../../../ lib / libmapi.so:对RIPEMD160_Init'/usr/lib/gcc/x86_64-linux-gnu/7/../../的未定义引用 . ./../lib/libmapi.so:undefined reference tomnstr_errnr'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined reference to RIPEMD160_Update'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined referen ce toSHA384_Update'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:norfined reference to SHA224_Init'/ usr / lib / gcc / x86_64- linux-gnu / 7 /../../../../ lib / libmapi.so:undefined reference toSHA256_Init'/usr/lib/gcc/x86_64-linux-gnu/7/../../ . ./../lib/libmapi.so:对SHA512_Update的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined参考tomnstr_init'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:nobfined reference to block_stream'/ usr / lib / gcc / x86_64- linux-gnu / 7 /../../../../ lib / libmapi.so:undefined reference tomnstr_write'/usr/lib/gcc/x86_64-linux-gnu/7/../../ . ./../lib/libmapi.so:对SHA384_Final的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined参考SHA1_Update'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:mnstr_error'/ usr / lib / gcc / x86_64-的未定义引用linux-gnu / 7 /../../../../ lib / libmapi.so:undefined reference toSHA512_Final'/ usr / lib / gcc / x86_64-l inux-gnu / 7 /../../../../ lib / libmapi.so:对SHA256_Final的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../ ../../lib/libmapi.so:undefined reference tomnstr_flush'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined对SHA1_Init'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so的引用:undefined reference toSHA224_Final'/ usr / lib / gcc / x86_64- linux-gnu / 7 /../../../../ lib / libmapi.so:对mnstr_read_block的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../ ../../lib/libmapi.so:undefined reference tomnstr_printf'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined参考SHA256_Update'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:undefined reference toisa_block_stream'/ usr / lib / gcc / x86_64- linux-gnu / 7 /../../../../ lib / libmapi.so:对mnstr_set_byteorder的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../ ../../lib/libmapi.so:undefined reference tomnstr_read'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../li b / libmapi.so:对socket_wastream的未定义引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so: undefined reference toMD5_Init'/ usr /lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:对RIPEMD160_Final的未定义引用'/ usr / lib / gcc / x86_64-linux-gnu / 7 /../../../../lib/libmapi.so:undefined reference toclose_stream'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../ lib / libmapi.so:未定义的对MD5_Update的引用'/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:n undefined reference toSHA1_Final'/ usr /lib/gcc/x86_64-linux-gnu/7/../../../../lib/libmapi.so:start_wastream的未定义引用'/ usr / lib / gcc / x86_64-linux-gnu / 7 /../../../../lib/libmapi.so:未定义引用SHA512_Init'colsall2:错误:ld返回1退出状态

当我尝试解决方案时提到here

pkg-config --libs monetdb-mapi and pkg-config --cflags monetdb-mapi

我收到了这个错误:

在pkg-config搜索路径中找不到包bzip2 . 也许您应该将包含`bzip2.pc'的目录添加到PKG_CONFIG_PATH环境变量中 . 未找到'monetdb-stream'所需的包'bzip2'

经过搜索,我发现,Debian没有 bzip2.pc .
我安装了以下库:

sudo apt-get install libmonetdb-client-dev
sudo apt-get install libmonetdb-stream-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install liblzma-dev

所以任何帮助将不胜感激 .
我的Ubuntu版本是18.04

1 回答

  • 0

    多亏了什么@David C. Rankin提到链接问题消失了:这是完整的命令:

    gcc main.c -I / usr / include / monetdb -lmapi -lssl -lcrypto -lstream -lcurl -llzma -lbz2

相关问题