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