Я использую часть наддува для проекта (только message_queue).Если я использую нативный код, файл hpp в порядке.Но мне нужна очередь сообщений в файле битового кода LLVM (я выполняю битовый код в моей программе) и получаю следующую ошибку:
LLVM ERROR: Program used external function 'shm_unlink' which could not be resolved!
Мне сказали, что создание библиотеки с необходимой частью boostэто лучший способ решить эту проблему.
Что я сделал (в каталоге boost):
gcc -I . -c boost/interprocess/ipc/message_queue.hpp -o ipc.o
ar -cvq libipc.a ipc.o
ranlib libipc.a
и затем в каталоге моей программы:
llvm-g++ -Wall -O3 -static -L../../Release/lib -lipc -I../../include -I../../../boost_1_44_0 -fexceptions -emit-llvm tmp.cpp -o tmp.bc
Теперь, если я добавлю в свою программу boost-header, я получу:
../../Release/lib/libipc.a: could not read symbols: Archive has no index; run ranlib to add one
Если я их не включу, я получу некоторые ошибки, связанные с необъявлением message_queue.
Что я делаю не так?И что более важно, как мне решить эту проблему?