Ubuntu libdispatch

Я пытаюсь портировать программу, которая использует GCD (Grand Central Dispatch), из OSX в Ubuntu 11.10. Я установил libdispatch, но продолжаю получать следующую ошибку:

 undefined reference to dispatch_main() 

Странно то, что dispatch_main() объявлен в заголовочном файле, который я включаю, и я вызываю другие функции, объявленные в этом заголовочном файле, и компилятор распознает их. Только dispatch_main() он не может видеть, и если я вызываю dispatch_main(2), он говорит, что аргументов слишком много, поэтому я знаю, что компилятор может видеть заголовок.

Я попытался разделить шаги компиляции и компоновки (clang -c...), так как раньше это работало с неопределенной ошибкой ссылки, но, похоже, здесь ничего не происходит...

У кого-нибудь есть предложения? Я довольно озадачен этим...

1 ответ

Решение

Похоже, вы пропустили библиотеку из вашей линии связи. Когда вы компилируете свою программу в исполняемый файл, добавьте библиотеку в команду. Я предполагаю, что это должно выглядеть примерно так:

clang x.c y.c z.c -ldispatch
Другие вопросы по тегам