3

我正在尝试将使用 GCD(Grand Central Dispatch)的程序从 OSX 移植到 Ubuntu 11.10。我安装了 libdispatch 但我不断收到以下错误:

 undefined reference to dispatch_main() 

奇怪的是,dispatch_main() 是在我包含的头文件中声明的,我调用该头文件中声明的其他函数,编译器会识别它们。它只是 dispatch_main() 它看不到,如果我调用 dispatch_main(2) 它说参数太多,所以我知道编译器可以看到标题。

我尝试将编译和链接步骤(clang -c ...)分开,因为它之前适用于未定义的引用错误,但它似乎在这里没有做任何事情......

有人有什么建议吗?我对这个很困惑...

4

1 回答 1

4

听起来您缺少链接行中的库。将程序编译为可执行文件时,将库添加到命令中。我猜它应该看起来像这样:

clang x.c y.c z.c -ldispatch
于 2013-07-13T01:45:55.877 回答