Неудачная сборка образца wxWidgets (пример виджетов) в CodeBlocks

Я использую CodeBlocks 13.12 на машине Win 7 x64. Я намеревался немного узнать о создании проекта wxWidgets в CodeBlocks, поэтому я создал новый проект wxWidgets, указав расположение wxWidgets на "C:\wxWidgets-3.0.1" . Затем добавил все исходные файлы из примера в проект и пытаюсь собрать проект в IDE, получаю такие ошибки:

||=== Build: Debug in widgetsSample (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -lwxmswd_core|
ld.exe||cannot find -lwxbased|
ld.exe||cannot find -lwxpngd|
ld.exe||cannot find -lwxzlibd|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

Как мне внести исправления, чтобы эти ошибки исчезли и проект был построен?

В качестве дополнительной информации я скачал "wxWidgets-3.0.1.tar.bz2, 15.06.2014, 20,1 МБ" и следил за учебным пособием Youtube по компиляции исходников с помощью CMD и mingw32-make. Я не думаю, что это имело большое значение, поскольку это создавало только файлы .O и .D в папке «C:\wxWidgets-3.0.1\build\msw\gcc_mswud». Ну, если бы кто-то захотел объяснить этот процесс и его использование, я был бы очень признателен, как новичок.

ИЗМЕНИТЬ 1:

Это снимок настроек компоновщика, который, я считаю, имеет отношение к ответу:

введите здесь описание изображения


person James C    schedule 25.07.2014    source источник


Ответы (1)


Судя по всему, вы не установили каталог libs для компоновщика. Должно быть что-то вроде Menu "Project" -> Build Options -> Linker settings.

Компиляция исходников имеет большое значение, см. "C:\wxWidgets-3.0.1\libs".

person catalin    schedule 25.07.2014
comment
Где ищутся библиотеки ссылок? IOW что у вас есть под Search directories -> Linker ? - person catalin; 25.07.2014
comment
Там у меня есть C:\wxWidgets-3.0.1\lib\gcc_lib . Один из моих экспериментов состоял в том, чтобы переименовать wxmswd_core и wxbased в wxmsw30ud_core и wxbase30ud, потому что первые 2 библиотеки не находятся в папке gcc_lib, а две другие находятся. Ошибка libs not found исчезла, но она произвела почти бесконечное количество неопределенных ссылок. - person James C; 25.07.2014
comment
Устранение неоднозначности: здесь вы имеете в виду образец, созданный вами, а не любой из образцов, поставляемых с исходными кодами wxWidgets. У вас должна быть одинаковая конфигурация сборки для wxW libs И вашего проекта. В настоящее время из вашего описания вы создали библиотеки wxW в конфигурации Unicode-Debug, но ваш образец построен в конфигурации ANSI-Debug. Убедитесь, что ваш образец построен в Unicode-Debug. И, очевидно, вам нужно сопоставить имена существующих библиотек с именами, установленными в C::B. Вы также можете просмотреть минимальный пример wxW и получить настройки из проектов или make-файлов, которые поставляются вместе с ним. - person catalin; 25.07.2014
comment
Извините, что написал вопрос двусмысленно. Образец, на который я ссылаюсь, или, по крайней мере, код, на самом деле является одним из образцов, поставляемых с исходным кодом wxWidgets, и он называется образцом виджетов. Но на самом деле я создал свой собственный проект в CB и просто добавил туда исходные файлы, потому что я хотел узнать, как настроить проект wxWidgets в CB для дальнейшего использования. Что касается остальной части вашего объяснения, я не очень понимаю все это, поскольку я новичок, например, чтобы убедиться, что мой образец построен в Unicode-Debug. Если вы можете расширить и нуб-объяснить свой ответ, я мог бы принять его. - person James C; 25.07.2014
comment
Убедитесь, что Compiler settings -> #defines содержит _UNICODE. - person catalin; 25.07.2014
comment
Альтернатива: используйте меню File -> Import project -> MS Visual [...] и выберите соответствующий файл из каталога образца; затем добавляйте/удаляйте файлы в соответствии с вашими потребностями. - person catalin; 25.07.2014
comment
Спасибо за предложения. Конечно, импорт проекта MS VS или использование make-файла примера создаст и запустит программу без проблем, я уже сделал это. Но я хотел бы знать, какие шаги предпринять, чтобы проект и программа работали самостоятельно, так как в будущем я буду писать свой собственный код, а не всегда собирать уже готовые приложения. Добавление _UNICODE не внесло изменений, возможно, вам приходит в голову что-то еще? Спасибо. - person James C; 26.07.2014