奇怪的posix消息队列链接问题-有时无法正确链接

乔·西蒙

当我构建以下代码时,它构建良好。如果我使用相同的命令行更改代码以注释掉“ while”,则它不会生成(请参见下文)

#include <stdio.h>
#include <mqueue.h>

int main(int argc, char *argv[]) {
   while (1) { }

   mq_open("/YouSUCK", O_RDWR | O_CREAT | O_EXCL, S_IRWXU | S_IRWXG, NULL);

   return 0;
}

dada@thud:~/RaspberryPI$ gcc -g -Wall -lrt -o mqtest mqtest.c

dada@thud:~/RaspberryPI$ 

#include <stdio.h>
#include <mqueue.h>

int main(int argc, char *argv[]) {
//   while (1) { }

   mq_open("/YouSUCK", O_RDWR | O_CREAT | O_EXCL, S_IRWXU | S_IRWXG, NULL);

   return 0;
}

dada@thud:~/RaspberryPI$ gcc -g -Wall -lrt -o mqtest mqtest.c

/tmp/cccw376u.o: In function `main':

/home/dada/RaspberryPI/mqtest.c:7: undefined reference to `mq_open'

collect2: ld returned 1 exit status

dada@thud:~/RaspberryPI$

有任何想法吗 ?

dada@thud:~/RaspberryPI$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

更新:

看起来像是编译器版本问题,我在不同的机器上构建了相同的代码,并且可以使用上述任何一个文件正确构建。所以我想我需要一个不同的编译器。

dada@JoesPi ~ $ gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-14+rpi1)

“未定义对mq_open的引用” collect2:

链接反对librt。例如-lrt

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML链接有时无法正常工作

来自分类Dev

HTML链接有时无法正常工作

来自分类Dev

MPI矩阵向量乘法有时返回正确的值有时是奇怪的值

来自分类Dev

无法设置POSIX消息队列属性

来自分类Dev

无法设置POSIX消息队列属性

来自分类Dev

有时无法解析JAVA SQLException错误消息

来自分类Dev

无法生成正确的链接

来自分类Dev

有时,链接在首次点击时不起作用

来自分类Dev

当您将 JavaScript (jQuery) 作为单独的文件链接时,它有时不起作用

来自分类Dev

当函数产生单个链接时,无法以正确的方式使用ThreadPoolExecutor

来自分类Dev

链接器映射文件有时具有错误的符号,但并非总是如此

来自分类Dev

反向链接列表队列时遇到问题

来自分类Dev

为POSIX发送消息队列时接收额外的字符

来自分类Dev

使用Xpath有时如何从包含链接的表单元中提取数据?

来自分类Dev

为什么Jenkins工件有时不显示为链接?

来自分类Dev

将数据添加到链接列表的函数进入无限循环,只是有时

来自分类Dev

尝试取消链接()我的图像的奇怪问题

来自分类Dev

MsAccess奇怪的链接表问题

来自分类Dev

iOS zeromq有时无法在pub / sub中启动时接收消息

来自分类Dev

Httpconnection 无法正确打开链接

来自分类Dev

是否有可能有时从添加在键盘上的回调的外部链接键盘?

来自分类Dev

链接时私有方法突然无法访问

来自分类Dev

链接时私有方法突然无法访问

来自分类Dev

无法将正确的项目链接到注册表中的正确所有者

来自分类Dev

在chrome上点击链接的中途有时也会将当前标签页切换到新标签页

来自分类Dev

为什么有时需要为C链接列出两次库,这是可以避免的?

来自分类Dev

ARP消息以零填充..有时

来自分类Dev

为什么在使用CMake时我的共享库无法正确链接?

来自分类Dev

为什么在使用CMake时我的共享库无法正确链接?

Related 相关文章

  1. 1

    HTML链接有时无法正常工作

  2. 2

    HTML链接有时无法正常工作

  3. 3

    MPI矩阵向量乘法有时返回正确的值有时是奇怪的值

  4. 4

    无法设置POSIX消息队列属性

  5. 5

    无法设置POSIX消息队列属性

  6. 6

    有时无法解析JAVA SQLException错误消息

  7. 7

    无法生成正确的链接

  8. 8

    有时,链接在首次点击时不起作用

  9. 9

    当您将 JavaScript (jQuery) 作为单独的文件链接时,它有时不起作用

  10. 10

    当函数产生单个链接时,无法以正确的方式使用ThreadPoolExecutor

  11. 11

    链接器映射文件有时具有错误的符号,但并非总是如此

  12. 12

    反向链接列表队列时遇到问题

  13. 13

    为POSIX发送消息队列时接收额外的字符

  14. 14

    使用Xpath有时如何从包含链接的表单元中提取数据?

  15. 15

    为什么Jenkins工件有时不显示为链接?

  16. 16

    将数据添加到链接列表的函数进入无限循环,只是有时

  17. 17

    尝试取消链接()我的图像的奇怪问题

  18. 18

    MsAccess奇怪的链接表问题

  19. 19

    iOS zeromq有时无法在pub / sub中启动时接收消息

  20. 20

    Httpconnection 无法正确打开链接

  21. 21

    是否有可能有时从添加在键盘上的回调的外部链接键盘?

  22. 22

    链接时私有方法突然无法访问

  23. 23

    链接时私有方法突然无法访问

  24. 24

    无法将正确的项目链接到注册表中的正确所有者

  25. 25

    在chrome上点击链接的中途有时也会将当前标签页切换到新标签页

  26. 26

    为什么有时需要为C链接列出两次库,这是可以避免的?

  27. 27

    ARP消息以零填充..有时

  28. 28

    为什么在使用CMake时我的共享库无法正确链接?

  29. 29

    为什么在使用CMake时我的共享库无法正确链接?

热门标签

归档