В папке sdk/angelscript/projects вы найдете файлы солюшенов для популярных компиляторов. Однако, эти файлы проектов не всегда обновляются до последней версии библиотеки. Если в процессе сборки возникли ошибки, убедитель что в проект включены все файлы из папки sdk/angelscript/source, и что настройки проекта соостветствуют этой статье.
Есть также несколько других #define, используемых в коде для изменения компиляции. При сборке библиотеки вы можете определить ANGELSCRIPT_EXPORT для экспортируемых библиотечных функции. Если вы включаете исходный код библиотеки непосредственно в ваш проект, то вы не должны определять этот флаг.
При объявлении AS_DEPRECATED активизируется опция обратной совместимости, что может помочь вам в переходе на новую версию. Нет гарантии, что обратная совместимость будет сохранена в будущем, так что пытайтесь удалять использование устаревших функций как можно скорее.
Вы можете включить исходники AngelScript в свой собственный проект. Преимуществом этого является то, что вы можете быть уверены, что те же опции компилятора одинаковы для библиотеки и вашего приложения. Недостатком является то, что Ваш проект будет загрязнен файлами библиотеки. Файлы, необходимые для использования библиотеки должны включать в себя angelscript.h.
// Подключаем хидер #include "angelscript.h" // ... Начинаем использовать библиотеку
Наиболее предпочтительный способ. При сборке статической библиотеки убедитесь в корректных настройках компилятора, чтобы не получить конфликты с CRT (Для Visual C++ данные настройки находятся в Project -> Settings -> C/C++ -> Category: Code Generation).
Для использования библиотеки необходимо подключить только один заголовочный файл angelscript.h без специальных настроек.
// Подключаем хидер #include "angelscript.h" // ... Начинаем использовать библиотеку
Для использования библиотеки вы должны объявить ANGELSCRIPT_DLL_LIBRARY_IMPORT перед подключением заголовочного файла angelscript.h.
// Подключаем хидер #define ANGELSCRIPT_DLL_LIBRARY_IMPORT #include "angelscript.h" // ... Начинаем использовать библиотеку
Для загрузки вручную DLL вам следует определить ANGELSCRIPT_DLL_MANUAL_IMPORT перед подключением angelscript.h. Это позволит убедиться, что заголовочный файл не объявит прототипы функций, так как вы, скорее всего, захотите использовать эти имена для указателей на функции.
// Подключаем хидер.
typedef asIScriptEngine * AS_CALL t_asCreateScriptEngine(int);
t_asCreateScriptEngine *asCreateScriptEngine = 0;
// ... Обьявляем остальные функции
// Загружаем библиотеку и биндим функции
HMODULE dll = LoadLibrary("angelscript.dll");
asCreateScriptEngine = (t_asCreateScriptEngine*)GetProcAddress(dll, "_asCreateScriptEngine");
// ... Биндим остальные функции
// ... Начинаем использовать библиотеку