# github.com/codingpot/kiwigo
/go/pkg/mod/github.com/codingpot/kiwigo@v0.0.0-20251015030951-8eb509f28aa5/kiwi.go:73:64:
not enough arguments in call to (_Cfunc_kiwi_init)
have (*_Ctype_char, _Ctype_int, _Ctype_int)
want (*_Ctype_char, _Ctype_int, _Ctype_int, _Ctype_int)
/go/pkg/mod/github.com/codingpot/kiwigo@v0.0.0-20251015030951-8eb509f28aa5/kiwi.go:105:87:
too many arguments in call to (_Cfunc_kiwi_analyze)
have (_Ctype_kiwi_h, *_Ctype_char, _Ctype_int, _Ctype_int, _Ctype_kiwi_morphset_h, _Ctype_kiwi_pretokenized_h)
want (*_Ctype_struct_kiwi_s, *_Ctype_char, _Ctype_int, _Ctype_struct___0, *_Ctype_struct_kiwi_pretokenized)
/go/pkg/mod/github.com/codingpot/kiwigo@v0.0.0-20251015030951-8eb509f28aa5/kiwi.go:212:72:
not enough arguments in call to (_Cfunc_kiwi_builder_init)
have (*_Ctype_char, _Ctype_int, _Ctype_int)
want (*_Ctype_char, _Ctype_int, _Ctype_int, _Ctype_int)
kiwigo(한국어 형태소 분석기 Kiwi의 Go 바인딩)를 Kiwi C 라이브러리 v0.23.0과 함께 사용하려고 할 때, C 함수 시그니처 불일치로 인해 컴파일이 실패합니다. Go 래퍼가 기대하는 함수 시그니처와 v0.23.0 C 라이브러리가 제공하는 시그니처가 다릅니다.환경
라이브러리 소스
재현 방법
Kiwi C 라이브러리 v0.23.0을 다운로드하고 압축 해제:
cd /path/to/project wget https://github.com/bab2min/Kiwi/releases/download/v0.23.0/kiwi_lnx_x86_64_v0.23.0.tgz tar xzf kiwi_lnx_x86_64_v0.23.0.tgzkiwigo를 사용하는 간단한 Go 프로그램 작성:
kiwigo 의존성 추가:
Kiwi 라이브러리 경로를 포함하여 빌드:
예상 동작
프로그램이 성공적으로 컴파일되고,
kiwigo패키지가 Kiwi C 라이브러리 v0.23.0을 초기화하며 오류 없이 한국어 형태소 분석을 수행해야 합니다.실제 동작
컴파일이 여러 C 함수 시그니처 불일치 오류로 실패합니다:
오류 분석
불일치는 다음을 나타냅니다:
kiwi_init()함수kiwi_analyze()함수kiwi_builder_init()함수근본 원인
kiwigo패키지 (현재 공식 릴리스 태그가 없는 pseudo-version)는 이전 버전의 Kiwi C 라이브러리용으로 개발된 것으로 보입니다. v0.23.0이 아닌 다른 버전을 위해 작성되었습니다. C API가 발전했지만 Go 래퍼는 그에 맞게 업데이트되지 않았습니다.