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 に答える