2010-11-25 5 views
1

私はプロジェクトのためのboostの一部を使っています(message_queueのみ)。ネイティブコードを使用すると、hppファイルは正常です。私はブーストの必要な部分でライブラリを構築することであると言われたブーストからライブラリを作成する方法は?

LLVM ERROR: Program used external function 'shm_unlink' which could not be resolved! 

:しかし、私は(私は私のプログラムでのビットコードを実行しています)LLVMのビットコードファイル内のメッセージキューを必要とし、次のエラーを取得しますこの問題を解決する最善の方法。私は私のプログラムでブーストヘッダが含まれている場合、私が得る、

llvm-g++ -Wall -O3 -static -L../../Release/lib -lipc -I../../include -I../../../boost_1_44_0 -fexceptions -emit-llvm tmp.cpp -o tmp.bc 

今:

gcc -I . -c boost/interprocess/ipc/message_queue.hpp -o ipc.o 
ar -cvq libipc.a ipc.o 
ranlib libipc.a 

、その後、私のプログラムのディレクトリに:私は(ブーストディレクトリに)やった

私がそれらを含んでいなければ、私はすべてのメッセージキューが宣言されていないことに関連するいくつかのエラーを取得します。

私は間違っていますか?さらに重要なのは、この問題をどうやって解決するのか?

答えて

0

shm_unlink、iircは、リアルタイムライブラリlibrtで提供されています。あなたのビルドに[gcc flag -lrt]というリンクを追加してください。

関連する問題