Я переношу приложение в Linux, написанное на IRIX (и успешно перенесено в AIX (годы назад)). Одна из проблем, которые я обнаружил, - это glwMDrawingAreaWidgetClass не поддерживается в Linux (используйте glwDrawaingAreaWidgeClass no 'M). Поэтому я переключил его. Я создал приложение на Ubuntu 10.10. Теперь я пытаюсь построить 14.04 (а также пробовал 15.10). Но я получаю следующую ошибку.множественное определение `glwMDrawingAreaWidgetClass '
Множественное определение glwMDrawingAreaWidgetClass.
Я получаю это для дюжины (или около того) файлов. Дело в том, что я НЕ использую его.
Так что в хорошем стиле отладки я спросил: что изменилось. Файловые файлы одинаковы, файлы одинаковые. Это должны быть библиотеки или компилятор (G ++).
Я искал всюду (поиск google), чтобы найти эту ошибку. Я не нашел решения (или даже проблемы).
Кто-нибудь это заметил? Я подозреваю, что это проблема библиотеки.
Я использую следующие библиотеки для связи: ..
-lxvw -ldot -lmath -lXm -lXt -lXext -lX11 -lglut -lGLU -lGL -lGLw -lm -lpthread.
Первые три являются моими. Я попытался удалить избыток, GLU, GL, GLw. Не имеет значения, или я не могу связать. Я подозреваю, что это GLw.
Я свяжусь статически.
Благодаря
У вас все еще есть среда Ubuntu 10.10, которая ее компилирует? Вы можете попробовать обмен файлами между этой и вашей текущей установкой, чтобы увидеть, что работает. –
Действительно ли это ошибка или просто предупреждение? Пожалуйста, укажите полное сообщение. –
Это ошибка becaue collect2/ld возвращает ошибку (см. Конец) Вот часть сообщения - происходит несколько раз XExec.o: В функции 'XCommandBox :: ~ XCommandBox() ': /c/viewer/src/XExec.c: 83: множественное определение 'glwMDrawingAreaWidgetClass ' ViewerTestExec.o: /c/viewer/src/ViewerTestExec.c: 43: сначала определено здесь ViewerExec.o: В функции' Executor :: initialize () ': /c/vps/lib/libxvw.a(XWindow.o): В функции 'XWindow :: XWindow (WindowManager &)': /c/viewer/src/XWindow.c:57: множественное определение. .... collect2: error: ld вернулся 1 статус выхода – Thaddeus