Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
Таблица экспорта библиотеки
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Таблица экспорта библиотеки (Прочитано 16306 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mayor
Специалист
Offline
Таблица экспорта библиотеки
«
:
07-12-2009 11:07 »
Код:
echo deps Simple.cpp
deps Simple.cpp
grc -e i586-mingw32msvc-g++ -O2 -Wall -Wextra --pedantic `pkg-config --cflags ` -M -MP -MQ Simple.d -MQ Simple.o -o Simple.d Simple.cpp
Must specify package names on the command line
echo g++ Simple.cpp
g++ Simple.cpp
grc -e i586-mingw32msvc-g++ -O2 -Wall -Wextra --pedantic `pkg-config --cflags ` -c -o Simple.o Simple.cpp
Must specify package names on the command line
Simple.cpp:72: warning: unused parameter ‘state’
Simple.cpp:72: warning: unused parameter ‘x’
Simple.cpp:72: warning: unused parameter ‘y’
Simple.cpp:94: warning: unused parameter ‘x’
Simple.cpp:94: warning: unused parameter ‘y’
echo linking test
linking test
i586-mingw32msvc-ld -lglut `pkg-config --libs ` -o test.exe Simple.o
Must specify package names on the command line
Simple.o:Simple.cpp:(.text+0xf): undefined reference to `_glLoadIdentity@0'
Simple.o:Simple.cpp:(.text+0x42): undefined reference to `_gluLookAt@72'
Simple.o:Simple.cpp:(.text+0x4d): undefined reference to `_glClear@4'
Simple.o:Simple.cpp:(.text+0x54): undefined reference to `_glBegin@4'
Simple.o:Simple.cpp:(.text+0x62): undefined reference to `_glColor3f@12'
Simple.o:Simple.cpp:(.text+0x6e): undefined reference to `_glVertex3f@12'
Simple.o:Simple.cpp:(.text+0x7a): undefined reference to `_glColor3f@12'
Simple.o:Simple.cpp:(.text+0x8a): undefined reference to `_glVertex3f@12'
Simple.o:Simple.cpp:(.text+0x96): undefined reference to `_glColor3f@12'
Simple.o:Simple.cpp:(.text+0xa2): undefined reference to `_glVertex3f@12'
Simple.o:Simple.cpp:(.text+0xa8): undefined reference to `_glEnd@0'
Ч
ем можно посмотреть содержимое таблицы экспорта libfreeglut.a (правильные названия функций) под
Л
инуксом?
P.S.
возника
ю
т подозрения, что я ка
к-т
о неправильно подсунул компилятору хидер glut.h
«
Последнее редактирование: 07-12-2009 11:13 от Sel
»
Записан
1n c0de we trust
Mayor
Специалист
Offline
Re: Таблица экспорта библиотеки
«
Ответ #1 :
08-12-2009 07:51 »
gramar nazi
я уже поставил англо-русский словарь теперь spelling ошибок должно быть намного меньше, хе будем работать над этими, не знаю как называется: ( запятыми дефисами )
в общем, по теме:
символы просматриваются nm, но тк по данным objdump -i, формат pe-i386 не поддерживается nm установленным по умолчанию, то пришлось использовать для просмотра libfreeglut.a /usr/i586-mingw32msvc/bin/nm
подозрения относительно glut.h не оправдались
Записан
1n c0de we trust
RXL
Технический
Администратор
Offline
Пол:
Re: Таблица экспорта библиотеки
«
Ответ #2 :
08-12-2009 10:07 »
Mayor
, это называется пунктуация.
*.a - это "архивная библиотека", коллекция объектных файлов (не разделяемая библиотека!). Логично, что под Linux-i386 они имеют формат ELF 32bit.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Mayor
Специалист
Offline
Re: Таблица экспорта библиотеки
«
Ответ #3 :
08-12-2009 10:22 »
Н
у
,
по все
й
видимости, libfreeglut.
А
это коллекция ссылок на функции разделяемых библиотек или dll, но тем не менее архив остается архивом
,
и
,
в отличие от линковки с разделяемыми библиотеками
,
порядок следования в командной строке ld архивов и объектных файлов имеет значение ...
К
ак ни странно
,
все ее объектные файлы хранятся в формате pe-i386 - по одному объекту на апи фукнцию
.
П
о идее, нужно будет что-ни
буд
ь почитать по кросскомпиляции, когда завершу 1й этап с++, или даже параллельно с 1м этапом
.
«
Последнее редактирование: 08-12-2009 16:33 от Sel
»
Записан
1n c0de we trust
RXL
Технический
Администратор
Offline
Пол:
Re: Таблица экспорта библиотеки
«
Ответ #4 :
08-12-2009 11:10 »
Mayor
, а не под MinGW ли ты увидел PE?..
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sel
Злобный
Администратор
Offline
Re: Таблица экспорта библиотеки
«
Ответ #5 :
08-12-2009 16:34 »
Mayor
, не научишься писать по-русски грамотно, начну удалять твои посты. Править надоело.
Записан
Слово не воробей. Всё не воробей, кроме воробья.
Mayor
Специалист
Offline
Re: Таблица экспорта библиотеки
«
Ответ #6 :
10-12-2009 08:27 »
Цитата: RXL от 08-12-2009 11:10
Mayor
, а не под MinGW ли ты увидел PE?..
да под ним, в смысле в папке библиотек migGw, установленного на debian
«
Последнее редактирование: 10-12-2009 08:36 от Mayor
»
Записан
1n c0de we trust
RXL
Технический
Администратор
Offline
Пол:
Re: Таблица экспорта библиотеки
«
Ответ #7 :
10-12-2009 19:04 »
Тогда ничего странного в этом нет: в винде принят формат PE.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Антон (LogRus)
Глобальный модератор
Offline
Пол:
Внимание! Люблю сахар в кубиках!
Re: Таблица экспорта библиотеки
«
Ответ #8 :
15-12-2009 06:11 »
Код:
`pkg-config --libs `
это что такое? насколько я помню после --libs должно быть имя библиотеки
Записан
Странно всё это....
RXL
Технический
Администратор
Offline
Пол:
Re: Таблица экспорта библиотеки
«
Ответ #9 :
15-12-2009 06:22 »
LogRus
, именно!
Код:
#pkg-config --libs openssl
-L/usr/kerberos/lib -lssl -lcrypto -ldl -lz
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Антон (LogRus)
Глобальный модератор
Offline
Пол:
Внимание! Люблю сахар в кубиках!
Re: Таблица экспорта библиотеки
«
Ответ #10 :
15-12-2009 06:28 »
и поставь -lglut после -o test.exe Simple.o
проблема осталась?
Записан
Странно всё это....
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
Таблица экспорта библиотеки
Загружается...