2015-03-13 2 views
0

Привет, я довольно новичок в ACE ORB (TAO). Моя существующая система компилируется с xcc компилятор в solaris. Теперь я должен использовать компилятор gcc. Когда я пытаюсь скомпилировать мой исходный код, используя GCC, я получаю следующую ошибкуtao_idl возвращает с неопределенной ошибкой при компиляции с использованием gcc

/sbcimp/run/pd/ACE/6.0.7_x86/64Opt/bin/tao_idl: preprocessor "CC" returned with an error xmake: /sbcimp/run/pd/ACE/6.0.7_x86/64Opt/bin/tao_idl: error 1 (0x1)

Почему tao_idl вернуть эту ошибку? Все, что я знаю, это tao_idl компилирует источники idl для ACE ORB. Эта ошибка не дает мне никакой другой информации о причине этой ошибки. Где я могу найти дополнительную информацию об этой ошибке?

Я не вижу большой помощи в сети для компиляции tao_idl. Может кто-то пролить свет на это

ответ

0

В дополнение к ответу @Johnny Willemsen, я хотел добавить немного подробностей, чтобы он был полезен для кого-то. TAO_IDL использует внешний предварительный процессор.

  1. Если задан макрос TAO_IDL_PREPROCESSOR, он будет использовать его.
  2. Если задан макрос ACE_CC_PREPROCESSOR, он будет использовать его.
  3. В противном случае, он будет использовать «CC»

Проблема, что у меня было, что я пытался использовать г ++ как предкомпилятору, без установки каких-либо из вышеперечисленных макросов. Следовательно, TAO_IDL всегда искал cc.

Решение: экспорт TAO_IDL_PREPROCESSOR =/rtcigp/бег/PD/ССАГПЗ/32-бит/4.4.1/bin/г ++

затем включают г ++ двоичный в PATH export PATH="$PATH:/rtcigp/run/pd/gcc/32-bit/4.4.1/bin"

Это делает г ++, как препроцессор.

0

TAO_IDL использует CC в качестве препроцессора, есть ли у вас это в PATH при вызове TAO_IDL, просто попробуйте выполнить CC непосредственно из командной строки.

+0

У меня есть cc (составитель Solaris C на моей машине) Вы говорите, что tao_idl нуждается в CC в качестве препроцессора, посмотрев на эту ошибку? Я думал, 'CC' в точках сообщения об ошибке в переменной в моем файле xmake ' CC = $ (TOOLSBIN) XCC -c $ (INC) -I $ (SRC) ' – vibz

+0

Это может быть, что компилятор флаги для xcc и gcc разные, и это вызывает проблему. Вы скомпилировали полное дерево с gcc? Может быть, попробуйте запустить TAO_IDL вручную и передать -Ucc, чтобы получить препроцессор cc? –

Смежные вопросы