Ubuntu libdispatch

c, grand-central-dispatch, libdispatch, linux, ubuntu

Solution

It sounds like you are missing the library from your link line. When you compile your program into an executable, add the library to the command. I am guessing it should look something like this:

clang x.c y.c z.c -ldispatch

Problem

I am trying to port a program that uses GCD (Grand Central Dispatch) from OSX to Ubuntu 11.10. I installed libdispatch but I keep getting the following error: ``` undefined reference to dispatch_main() ``` The strange thing is that dispatch_main() is declared in a header file that I include and I call other functions declared in that header file and the compiler recognizes them. It is only dispatch_main() that it cannot see and if I call dispatch_main(2) it says that there are too many arguments, so I know the compiler can see the header. I tried separating the compile and link steps (clang -c...) since that worked for an undefined reference error before, but it doesn't seem to do anything here... Anybody have any suggestions? I'm pretty stumped on this one...

Original source