일부 TCP 서버에 크로스 플랫폼 라이브러리를 사용하여 라이브 비디오 스트리밍을위한 간단한 콘솔 응용 프로그램 프로젝트가 있습니다. Windows에서 수동으로 Linux 및 Mac OS X로 이식했습니다. 이제는 수동으로 생성하고 테스트 한 동일한 코드를 사용하는 3 개의 프로젝트가 있습니다. 이제 프로젝트 파일을 업데이트하는 프로세스를 자동화하기 위해 미리 만든 루아 프로젝트 생성 파일을 만들려고합니다. Premake 프로젝트 빌드/설정 스크립트 : 사용자가 libs (libdirs) 및 include (includedirs)를 사용하여 경로의 배열에 자신의 경로를 추가하는 방법은 무엇입니까?
나는 내 프로젝트에 필요한 lib 디렉토리 링크의 배열을 가지고 내 premake 루아 빌드 파일에서 내가 lib 디렉토리 링크의 배열을 가지고 루아 파일를 작성하기 시작했다.
일부는 반복하지 않습니다. 예를 들어 Windows에서는 "openal32"(Windows 7 64 비트 버전)와 Linux에서 "openal"이라는 훨씬 간단한 이름이 있기 때문에 "OpenAL.framework" 맥 OS X (과를 OpenAL을 포함 맥 OS에서의 유일한 옵션)
을에 나는 linkdirs 속성 집합이 - 아마 맥 OS X에 대한 작동합니다 DIRS로 연결되는 모든 시스템
libdirs {
"/opt/local/lib",
"/System/Libarary/Frameworks",
"/Library/Frameworks",
"/usr/lib",
"/usr/local/lib" }
하나 (왜냐하면 우리는 기본적으로 /opt/local/lib
에 설치되는 Mac 포트를 사용하기 때문입니다) 그리고 리눅스 (우리는 대부분 자동으로 설치되는 app-get 아날로그를 사용합니다)는 usr/lib
, 때로는 /usr/local/lib
). 하지만 창문에서는 ffmpeg가 어디에 있는지, 어디서 부스트를 설치했는지 알지 못합니다 (아마도 각 프로그래머는 윈도우 Libs와 Headers를 어디에 보관할 것인지 생각하고 있습니다 ...). 그래서 우리는 premake에서 간단한 것을 필요로합니다 :
includedirs
배열에 대해 libdirs
배열 및 동일한 것으로 포함될 사용자 정의 라이브러리 디렉토리. 그것은 하나 이상의 디렉토리를 추가 할 수있는 ba입니다.
어떻게 사용할 수 있습니까? 내가 무엇을해야 ...
나는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"]
}
같은 "옵션 기반 시스템"을 만들려고하지만, 윈도우에서 작동하지 않는 것 같습니다?