![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Zueuk |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 21 Регистрация: 10.5.2010 Пользователь №: 1702 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Опытные товарищи, есть вопросы.
Использую в Linux (Fedora 11) кросс-компилятор mingw32. А конкретнее, версию для arm (arm-mingw32). При компилировании примера (код примера под спойлером ниже), выдаёт ошибки: Цитата /opt/mingw32ce/bin/arm-mingw32ce-g++ -fno-exceptions -o test_wince.exe test.cpp /tmp/ccdgZQsW.o:test.cpp:(.text+0x58): undefined reference to `CommandBar_Create' /tmp/ccdgZQsW.o:test.cpp:(.text+0x70): undefined reference to `CommandBar_AddAdornments' /tmp/ccdgZQsW.o:test.cpp:(.text+0xa0): undefined reference to `CommandBar_Height' collect2: ld returned 1 exit status make: *** [wince] Ошибка 1 Более подробный вывод ошибок. Раскрывающийся текст
Пример кода, который пробуется: Раскрывающийся текст
Все заголовочные файлы есть и лежат, где нужно. Что за ошибка и как исправить? |
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
undefined reference to `CommandBar_Create' говорит о том, что компилятор не видит хидер в котором реализован CommandBar_Create.И обрати внимание на: Цитата ignoring nonexistent directory "/opt/mingw32ce/lib/gcc/arm-mingw32ce/4.1.0/../../../../arm-mingw32ce/sys-include" Как я понимаю Commctrl.h должен быть в одной из тех директорий!
ignoring nonexistent directory "../include/w32api" ignoring nonexistent directory "../../include/w32api" |
|
|
Tonal |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Хедеры не при чём.
Это ошибки линкера. Он не нашел указанных символов. Судя по названиям они должны лежать в библиотеке comctl32 так что добавь в командную строку -lcomctl32 Скорее всего ещё какие-то либы понадобятся. ![]() |
|
|
Гость_Гость_Zueuk_*_* |
![]()
Сообщение
#4
|
Гости ![]() |
Как я понимаю Commctrl.h должен быть в одной из тех директорий! Спасиалньо проверил - есть такое. Это ошибки линкера. Он не нашел указанных символов. Судя по названиям они должны лежать в библиотеке comctl32 так что добавь в командную строку -lcomctl32 Вот это попробую. |
|
|
Zueuk |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 21 Регистрация: 10.5.2010 Пользователь №: 1702 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Как я понимаю Commctrl.h должен быть в одной из тех директорий! Спасиалньо проверил - есть такое. Это ошибки линкера. Он не нашел указанных символов. Судя по названиям они должны лежать в библиотеке comctl32 так что добавь в командную строку -lcomctl32 Вот это попробую. Забыл залогиниться. PS "Спасиалньо" читать, как "специально". |
|
|
Zueuk |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 21 Регистрация: 10.5.2010 Пользователь №: 1702 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Хедеры не при чём. Это ошибки линкера. Он не нашел указанных символов. Судя по названиям они должны лежать в библиотеке comctl32 так что добавь в командную строку -lcomctl32 Скорее всего ещё какие-то либы понадобятся. ![]() А верно ли, что прописать -lcomctl32? Посмотрел - такого заголовочного файла нет. И компилятор выдаёт об этом ошибку: Цитата make wince /opt/mingw32ce/bin/arm-mingw32ce-g++ -fno-exceptions -lcomctl32 -o test_wince.exe test.cpp /opt/mingw32ce/lib/gcc/arm-mingw32ce/4.1.0/../../../../arm-mingw32ce/bin/ld: cannot find -lcomctl32 collect2: ld returned 1 exit status Попробовал -lcommctrl, но ошибка все та же, что выше. Приведу свой make-файл. Может в нём ошибся. Раскрывающийся текст
Вот содержимое папки include: Раскрывающийся текст
|
|
|
ViGOur |
![]()
Сообщение
#7
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Zueuk |
![]() ![]()
Сообщение
#8
|
Студент ![]() Группа: Участник Сообщений: 21 Регистрация: 10.5.2010 Пользователь №: 1702 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
-lcommctrl - это библиотечка commctrl.lib, глянь где она у тебя лежит... Забавно, из библиотек только SDL.lib в двух местах (копировал вручную, пробовал пример работы с SDL). Получается, надо брать исходники и компилировать целиком и с библиотеками? А как тогда компилируются простые исходников? Им же не нужны для этого бибилиотеки, а принцип такой же, что и для чуть усложненных исходников? Ведь, в заголовочных файлах описаны прототипы функций, константы и прочее. Подозреваю, что мои вопросы очень просты для опытных людей. Если подскажете, где прочитать, почитаю. |
|
|
Zueuk |
![]()
Сообщение
#9
|
Студент ![]() Группа: Участник Сообщений: 21 Регистрация: 10.5.2010 Пользователь №: 1702 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В Гугле не забанен, конечно. А краткое наведение на путь очень помогло бы.
|
|
|
SandySandy |
![]()
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.5.2010 Пользователь №: 1714 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.6.2025, 10:10 |