Сбой g ++ после последовательных вызовов

Я разрабатываю инструмент, который делает несколько вызовов g ++ для компиляции и выполнения разных версий оригинальной программы на C ++. Более или менее, эти вызовы выполняются внутри цикла (это не настоящий «цикл», но вызовы выполняются внутри функции, являющейся частью итеративного алгоритма).

Для короткого выполнения алгоритма все идет гладко и все вызовы g ++ завершаются правильно (я готовлю двоичные файлы к его выполнению). Однако чем дольше выполняются алгоритмы, тем больше вероятность сбоя инструмента.

Эти сбои происходят из-за сбоев последующих вызовов g ++, которые вместо возврата ожидаемых скомпилированных двоичных файлов возвращают следующие ошибки:

Compiling test_oclopts_23_14_6_6000.cpp...
g++ -O3 -L/opt/AMDAPP/lib -lOpenCL -I/opt/AMDAPP/include test_oclopts_23_14_6_6000.cpp -o test_oclopts_23_14_6_6000
/usr/bin/ld: cannot find /usr/lib/i386-linux-gnu/libc_nonshared.a
/usr/bin/ld: cannot find /lib/i386-linux-gnu/ld-linux.so.2
collect2: ld returned 1 exit status

Я немного погуглил об этих сообщениях об ошибках, но я не понимаю, как их можно применить к моей проблеме: предположительно отсутствующие библиотеки действительно хорошо установлены в системе (прежние вызовы g ++ прошли нормально).

Любая идея? Более того, если вы знаете лучший способ компилировать исходный код C ++ внутри программы C ++ вместо использования system (), я принимаю предложения 🙂

Огромное спасибо заранее,

Хорхе.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]