소스에서 컴파일된 GVim은 gtk2를 사용하지 않습니다.

소스에서 컴파일된 GVim은 gtk2를 사용하지 않습니다.

저는 HP-UX 11.11과 11.31이 각각 설치된 두 대의 HP-UX 컴퓨터 A와 B를 가지고 있습니다. B 소스에서 gvim 7.3을 컴파일하고 A 소스에서 gvim 7.0을 컴파일했습니다.

A에서 gvim은 gcc (...) -DFEAT_GUI_GTK로 컴파일된 "GTK GUI가 있는 버전"을 사용하며 모든 것이 잘 작동합니다.

B에서 gvim은 다르게 보이며 "X11-Motif GUI 버전"을 사용합니다. 여기에서 ssh -X는 "SSH를 통해 열린 소스에서 컴파일된 GVim -X가 선택 시 복사-붙여넣기를 수행하지 않습니다" 스레드와 같이 선택 시 복사-붙여넣기를 수행하지 않습니다.

  • 선택을 통한 복사/붙여넣기는 A의 GVim 창에서 작동하지만 B에서는 작동하지 않습니다.
  • GVim 창에서 일부 텍스트를 선택하면 해당 창에서 마우스 오른쪽 버튼을 클릭하여 붙여넣을 수 있지만 로컬에서 실행되는 항목에는 붙여넣을 수 없습니다. 로컬에서 항목을 선택하면 로컬에서 붙여넣을 수 있지만 GVim 창에 붙여넣으면 로컬에서 마지막으로 선택한 콘텐츠가 아닌 GVim 창에서 마지막으로 선택한 콘텐츠가 붙여넣어집니다.

문제는 gtk를 사용하여 gvim을 다시 빌드할 수 없다는 것입니다. HP 저장소(GTK 2.6)를 통해 내 컴퓨터에 GTK+를 설치하고 Makefile 구성에서 기본적으로 gtk+를 사용하더라도 컴파일러 옵션 "gcc (...) -DFEAT_GUI_MOTIF"가 표시됩니다.

보다 구체적으로 말하면 구성은 다음을 제공합니다.

checking --enable-gui argument... yes/auto - automatic GUI support
checking whether or not to look for GTK+ 2... yes

그러나 gtk 라이브러리는 검색되지 않습니다. Motif만 찾습니다.

checking for location of Motif GUI libs... /usr/lib/Motif1.1

내가 제공할 수 있는 것이 부족하다는 뜻은 아닙니다! "auto" 디렉토리에 있는 파일 구성.log는 GTk 검색이 실패하지 않고 단지 검색되지 않음을 보여줍니다!

configure:7577: result: yes/auto - automatic GUI support
configure:7609: checking whether or not to look for GTK+ 2
configure:7618: result: yes
configure:7627: checking whether or not to look for GNOME
configure:7636: result: no
configure:7644: checking whether or not to look for Motif
configure:7653: result: yes
configure:7661: checking whether or not to look for Athena
configure:7670: result: yes
configure:7678: checking whether or not to look for neXtaw
configure:7687: result: yes
configure:7695: checking whether or not to look for Carbon
configure:7704: result: yes
configure:7752: checking --disable-gtktest argument
configure:7762: result: gtk test enabled
configure:7772: checking for pkg-config
configure:7803: result: no
configure:8035: checking for location of Motif GUI includes
configure:8047: result: in default path
configure:8062: checking --with-motif-lib argument
configure:8076: result: no
configure:8081: checking for location of Motif GUI libs
configure:8099: result: /usr/lib/Motif1.1
configure:8202: checking for XShapeQueryExtension in -lXext

OPTION 모티브로 시작합니다:

avalenti@ncc1n:/usr/local/src/vim/vim73/src >make | tee make-minimal.results
mkdir objects
CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF   -I/usr/local/include      " srcdir=. sh ./osdef.sh
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF   -I/usr/local/include  -g -O2 -D_FORTIFY_SOURCE=1       -o objects/buffer.o buffer.c
(...)

강제로 gtk를 사용한다면

configure --enable-gui=gtk2 

make는 오류 없이 끝나지만 gvim은 다음과 같이 말합니다.

"E25: GUI cannot be used: Not enabled at compile time"

gvim을 gtk2로 강제로 컴파일하는 방법은 무엇입니까?

답변1

GTK2가 설치되어 있습니다 '-dev'팩? 그들은 "나머지 절반"입니다. 대부분의 사람들은 일반적으로 라이브러리만 필요합니다. 프로그램이 이미 작성되고 컴파일되었기 때문에 라이브러리에 연결하기만 하면 생활이 좋습니다.

그러나 코드를 컴파일하는 사람은 "-dev" 패키지에 포함된 라이브러리 루틴에 대한 "설명 및 포인터"가 필요합니다. 패키지 이름은 일반적으로 끝에 "-dev"만 추가하면 매우 유사하기 때문에 이렇게 작성합니다.

예를 들어 내 시스템에서 GTK2의 "-dev" 파일 이름은 "libgtk2.0-dev'. 패키지 관리자에 비슷한 것이 있는지 확인하십시오.

행운을 빌어요.

Vim 구성 스크립트에는 GTK2 라이브러리가 필요하지 않고 "자동" 구성 옵션이므로 오류가 발생하지 않습니다. 따라서 존재하면 이를 사용하고 그렇지 않으면 다음으로 대체됩니다.시각적으로 놀라운테마 모습.

답변2

오늘 이 문제가 발생했습니다. 이는 -dev 버전을 설치한 후에도 마찬가지입니다.

약간의 파기 후에. 기본적으로 pkg-config는 기본 64비트 경로에서 글꼴 구성 패키지만 찾는 것으로 나타났습니다.

그래서 나는 이렇게 했습니다:

setenv PKG_CONFIG_PATH /usr/lib64/pkgconfig:/usr/lib/pkgconfig

두 곳을 모두 봐야합니다.

그럼 난 이렇게 해야 해:

sudo yum install fontconfig-devel

이 두 가지를 사용하면 GTK2를 사용하여 성공적으로 빌드할 수 있습니다.

관련 정보