У меня есть простой проект консольного приложения для потоковой передачи видео в реальном времени с использованием кроссплатформенных библиотек на каком-либо TCP-сервере.Я перенес его вручную на Linux и Mac OS X из Windows.Итак, теперь у меня есть 3 проекта, использующих один и тот же код, каждый из которых создан вручную и протестирован.Сейчас я пытаюсь создать файл создания предварительных проектов lua для автоматизации процесса обновления файлов проектов.
Я начал создавать файл lua
У меня есть массив ссылок lib в моей сборке premake lua.file У меня есть массив ссылок lib, необходимых для моего проекта.
Некоторые из них как бы повторяют некоторые, а некоторые нет (потому что, например, в Windows есть «openal32» (даже в 64-битной версии Windows 7)и гораздо более простое имя "openal" в Linux и "OpenAL.framework" в Mac OS X (и это единственный вариант в Mac OS, чтобы включить openAL)
У меня есть набор свойств linkdirs - один для всех систем
libdirs {
"/opt/local/lib",
"/System/Libarary/Frameworks",
"/Library/Frameworks",
"/usr/lib",
"/usr/local/lib" }
Возможно, ссылки на каталоги будут работать для Mac OS X (потому что мы используем порты Mac, которые по умолчанию устанавливаются в /opt/local/lib
) и Linux (где мы в основном используем аналоги app-get, которые автоматически устанавливают все вusr/lib
, а иногда и в /usr/local/lib
). Но в Windows вы никогда не знаете, где находится ffmpeg или где установлен boost (вероятно, у каждого программиста есть свое представление, где хранить windowsLibs и Headers ...) поэтому нам нужна простая вещь из premake:
Действие для добавления пользовательских каталогов библиотек, которые будут включены в массив libdirs
, и то же самое для массива includedirs
.Он может добавить несколько каталогов.
Как включить такую вещь?
Я пытался создать «систему на основе опций», такую как
newoption {
trigger = "libsPath",
value = "PATH",
description = "Choose a particular directory for general libs search"
}
if not _OPTIONS["libsPath"] then
_OPTIONS["libsPath"] = NULL
end
libdirs {
"/opt/local/lib",
"/System/Libarary/Frameworks",
"/Library/Frameworks",
"/usr/lib",
"/usr/local/lib",
_OPTIONS["libsPath"]
}
, нокажется, не работает на окнах ... что мне делать?