使用QtCreator找不到-lrt的库[mac os]

时间:2009-10-01 17:43:28

标签: c macos compiler-construction qt4 compilation

我在使用选项“-lrt”构建的QT时遇到了一些麻烦

我正在使用带有QT创建者1.2.1的mac os 10.6,heeeeeeelp!

这是完整的构建命令:

  

g ++ -headerpad_max_install_names -o   AMiningCoreTest main.o tokenizer.o   DictionnaryToolBox.o mysql.o btree.o   BTreeDataTable.o tcaccess.o   -L / Library / Frameworks -L / usr / lib / mysql -lmysqlclient -L / usr / local / lib / -ltokyocabinet -lz -lbz2 -lrt -lpthread -lm -lc

结尾
  

ld:找不到-lrt的库   collect2:ld返回1退出状态

2 个答案:

答案 0 :(得分:13)

链接器找不到可能是Posix实时扩展库的librt。我认为这不适用于OSX。谷歌搜索来自Apple developer lists

列表中的问题

  

我正在尝试构建在我的大学开发的模拟器(在Linux上)   并且我通过链接器得到错误,似乎无法找到librt.a - in   代码用于clock_gettime(),我想知道是否   有一个这样的库的端口,或其他类似的功能   允许我甚至在Mac OS X上编译。

     

答案   librt.a是包含POSIX的库的System V名称   高级实时[RT]选项功能。你的具体功能   询问是[TMR]选项的一部分。如果Mac OS X支持它,它   将在libSystem.B,dylib,而不是librt.a。有问题的功能   Mac OS X不支持。

     

您的代码应检查是否可选择实现   超出UNIX标准的是在目标操作系统中实现的,   如果不是,请使用其他界面。

答案 1 :(得分:11)

为什么程序需要librt?

我知道某些平台(Solaris会想到)需要librt来执行操作系统中其他库中可能存在的某些功能。 (sem_init()等是这样的)

您可以尝试在没有-lrt的情况下进行链接,看看它是否有效。