2016-11-16 3 views
-1

Cgo에 CFLAGS를 사용하여 C 라이브러리에 링크 된 Go 패키지가 있습니다. C 라이브러리는 로컬 데이터 파일이 제대로 작동하도록 요구합니다. 사전 제작 된 3D 파티 라이브러리 및 데이터 파일 경로 설정 옵션을 사용할 수 없습니다.Go 패키지 내의 데이터 파일을 복사 하시겠습니까?

패키지의 클라이언트가 로컬이고 데이터가 lib에 의해로드되면 모두 작동하지만 패키지를 설치할 때 &을 설치하면 데이터 파일이 복사되지 않습니다.

패키지를 설치하는 동안 사용자 정의 파일을 가까운 패키지에 넣을 수있는 옵션이 있습니까?

답변

0

패키지를 설치하는 동안 사용자 정의 파일을 가까운 패키지에 넣을 수있는 옵션이 있습니까?

아니요. 죄송합니다. 이것은 시스템 패키지 관리자와 같은 다른 방법으로 해결해야합니다.

0

나는 https://github.com/jteeuwen/go-bindata 도구를 사용하여 기본 Go 바이너리에 의존성을 컴파일하는 것이 좋습니다. 이 방법을 사용하면 단일 바이너리 내에 여러 파일을 저장하고 (운영 체제마다 다름) 런타임에 올바른 파일을 선택할 수 있습니다. 몇 가지 프로젝트에서이 방법을 사용합니다. 다음

go-bindata -o output_file.go input_data_directory/ 

가 액세스 할 수 :

data, err := Asset("some_important_file") 
if err != nil { 
    // Asset was not found. 
} 

그래서, 당신이 당신의 응용 프로그램을 시작할 때 - 당신의 응용 프로그램이 기대되는 경로로 내부 자산에서 파일을 복사합니다. 도움이되기를 바랍니다.