2017-10-08 17 views
1

나는 C++ 소스에서 컴파일 된 정적 라이브러리를 호출한다. 그러나 종속 libs와 쓰기 피곤하고 난 그냥 아주 잘, 예를 들어, 내 libfoo.la 이런 식으로 뭔가있을 것이다 않는 libtool을 찾을 :cgo에서 libtool 출력을 사용할 수 있습니까?

dependency_libs=‘ /Users/roger/example/lib/bar/libbar.la -lm’ 

지금 내가 golang에서 libfoo.a를 호출하고,하지만 종속성은 복잡 할 수 . libfoo.alibbar.a에 따라 달라지며, libbar.alibhaha.a에 따라 다릅니다. 골란을 만들 때 libfoo.la을 사용할 수 있습니까? (또는 어떤 방법 libfoo.a 하나 개의 lib 디렉토리 파일에 모든 종속성을 만들?) 나는 golang를 빌드 할 때

답변

1

내가 libfoo.la의 사용을 만들 수 있습니까?

아니요. 이동은 시스템에서 사용할 수있는 표준 정적/공유 라이브러리 인 libtool 아카이브에 대해 알지 못하는 자체 빌드 시스템입니다.

이제 golang에서 libfoo.a를 호출하지만 종속성이 복잡 할 수 있습니다.

정적 라이브러리와 함께 사용하는 방법입니다. 대신 공유 라이브러리를 사용하는 한 가지 이유가 있습니다. 공유 라이브러리도 Go에서 문제없이 사용할 수 있지만 다소 관리하기 쉽습니다.

libfoo.a는 libbar.a에 따라 다르며 libbar.a는 libhaha.a에 따라 다릅니다.

package foo 


// #cgo CFLAGS: -I... 
// #cgo LDFLAGS: -L... -lfoo -lbar -lhaha -lm 
// #include ... 
import "C" 
... 

일 :

같은 뭔가를하지 않는 이유는 무엇입니까?

또는 어떤 식 으로든 libfoo.a와 모든 종속성을 하나의 lib 파일로 만드시겠습니까?

예, 가능하지만 다른 질문입니다.