Показать сообщение отдельно
Старый 23.12.2011, 15:58   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Code::Blocks и Xors3d (C++)

Если пользователи MS Visual Studio (не канонической - 6-ой, а жутковатой 7 и выше) получают более-менее "решение из коробки", то почитателям Code::Blocks необходимо сделать больше телодвижений.
Ситуацию усложняет устаревший файл ReadMe.txt, поэтому, постарался подробно расписать процесс шаг-за-шагом.
1 ) Извлекаете содержимое поставки (zip-архива) в некоторую директорию (пусть это будет XORS3D)
2 ) Запускаете C::B. Рассмотрим пример сборки семпла.
3 ) Выбираете File->Import Project->MS Visual Studio project...
4 ) Допустим XORS3D\Samples\Source\C++\animtex выбираем там *.proj-файл
5 ) Указываем компилятор. Пусть GNU GCC
6 ) Конфигурации (логично выбрать обе)
7 ) Заходим в Project -> Build Options (слева выбираем весь проект, а не отдельные конфигурации) переходим на вкладку Search Directories вкладка Compiler жмём Add указываем XORS3D\headers\CPP\inc в строке ввода и добавляем путь.
8 ) Дописываем #include <stdio.h>, чтобы устранить ошибку error: 'sprintf' was not declared in this scope
9 ) Далее получаем ошибку ld.exe||cannot find -lxors3d|
И это несмотря на то, что *.lib-файл добавлен штатными средствами интерфейса IDE [этот шаг я опустил, т.к. он ни к чему не приводит]. В интернетах об этом пишут много и размазано. Половина тредов кончается ни чем, часть завершается постом "внезапно стало работать" или "скачал новую версию библиотеки - теперь пашет".
Конечно же, можно реализовать паллиатив (аналогично поступает, например, пользователь тут http://yantayga.livejournal.com/24323.html "Вышел свежий Haskell Platform")
Берём и тупо копируем
XORS3D\headers\CPP\lib *.lib-файлы в \Program Files\CodeBlocks\MinGW\lib. IDE можно не перезапускать.Проект должен успешно собраться.

9 ) Заходим в Project -> Build Options вкладка Linker settings
9.1 ) Выбираем конфигурацию Debug (дерево в левой части окна)
9.2 ) Выбираем все файлы в списке Link libraries (зажав ctrl) и нажимаем Delete
9.3 ) Выбираем конфигурацию Release (дерево в левой части окна). IDE запросит сохранение изменений - соглашаемся.
9.4 ) Выбираем все файлы в списке Link libraries (зажав ctrl) и нажимаем Delete
9.5 ) Выбираем конфигурацию общую конфигурацию (корень дерева конфигураций). IDE запросит сохранение изменений - соглашаемся.
9.6 ) Жмём Add и указываем в открывшемся диалоге файл XORS3D\headers\CPP\lib\Xors3d.lib. Применяем.
9.7 ) Жмём Add и указываем в открывшемся диалоге файл \Program Files\CodeBlocks\MinGW\lib\libwinmm.a (или просто libwinmm.a). Применяем.
9.8 ) Закрываем диалог Project build options через Ok
10 ) Для запуска примера необходимо скопировать файл Xors3d.dll из XORS3D\dlls


Цель поста - информировать пользователей во избежание глупых вопросов в техподдержку.
Теги: Xors3D Code::Blocks error: 'sprintf' was not declared in this scope ld.exe||cannot find -lxors3d| MinGW dlls почему я идиот паллиатив приколы от код::блокс не видит либ скачать каннот фаунд без смс торрент бесплатно без ограничений и регистрации

А если у меня XP SP3?
Действительно ли все проблемы в моей криворукости?
Создаём свой проект

Upd: dsd Оказался прав. Проблема у меня была в "удачном" стечении обстоятельств: привычная MSVC++ сама прописывает линкеру файл экспорта, если тот был добавлен в проект (подобно любому файлу, например *.cpp) или подключён прагмой. Собственно первый вариант я и выбрал. Затем, в диалоге, убедился что линкер его проглотил (а на самом деле - только требовал его). А тут ещё гугл подбросил "единомышленников".
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?

Последний раз редактировалось impersonalis, 27.12.2011 в 16:06.
(Offline)
 
Ответить с цитированием
Эти 6 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
.Squid (23.12.2011), ABTOMAT (23.12.2011), dsd (27.12.2011), Dzirt (15.02.2012), Harter (23.12.2011), Hurrit (23.12.2011)