glib를 위한 "헬로 월드"를 구축할 수 없는 이유는 무엇입니까?
세계에서 가장 간단한 glib 프로그램은 다음과 같습니다.
#include <glib.h>
로 컴파일하려고 합니다.gcc test.c
그리고 나는 다음을 얻습니다.
test.c:1:18: error: glib.h: No such file or directory
따라서 올바른 패키지가 있는지 확인합니다.
# dpkg -l | grep libglib
ii libglib-perl 1:1.183-1 Perl interface to the GLib and GObject libra
ii libglib1.2-dev 1.2.10-19build1 The GLib library of C routines (development)
ii libglib1.2ldbl 1.2.10-19build1 The GLib library of C routines
ii libglib2.0-0 2.20.1-0ubuntu2 The GLib library of C routines
ii libglib2.0-cil 2.12.1-1ubuntu2 CLI binding for the GLib utility library 2.1
ii libglib2.0-data 2.18.2-0ubuntu2 Common files for GLib library
ii libglib2.0-dev 2.20.1-0ubuntu2 Development files for the GLib library
ii libglibmm-2.4-1c2a 2.18.1-1 C++ wrapper for the GLib toolkit (shared lib
그런 다음 "글립"을 검색합니다.h"는 /usr/sigma 아래에 있습니다./usr/include/glib-1.2/glib.h 및 /usr/include/glib-2.0/glib.h 두 개가 표시됩니다.그래서 저는 노력합니다.
$ gcc -I/usr/include/glib-2.0 -Wall test.c
In file included from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from test.c:2:
/usr/include/glib-2.0/glib/gtypes.h:34:24: error: glibconfig.h: No such file or directory
(약 10,000개의 오류가 추가로 제거됨)
저는 없는 것 같아요.glibconfig.h
내 컴퓨터 어디든.
이제 어떻게 해야 합니까?
입만 열면 숨는 경향이 있어요GCC가 하위 디렉터리를 자동으로 검색하지 않으므로 glib.hing glib-1.2 또는 glib-2.0을 볼 수 없기 때문에 포함 문이 작동하지 않습니다.
GLIB 매뉴얼의 GLib 애플리케이션 컴파일 페이지를 읽어 보십시오...다음과 같은 명령을 사용합니다.pkg-config --cflags glib-2.0
GCC에 적합한 깃발을 얻기 위해.
당신이 노력하는 것을 하는 표준적인 방법은.
% gcc test.c -Wall -o test `pkg-config --cflags --libs glib-2.0`
셸에 pkg-config 명령 "in-place"를 실행하도록 지시하는 백 틱을 기록합니다.
> > The canonical way to do what you are trying is
> % gcc test.c -Wall -o test `pkg-config --cflags --libs glib-2.0`
미안하지만, 안 돼요.그것은 일반적인 오해입니다. ELF 기반 시스템, 특히 Linux에서 대부분의 경우 작동합니다.일반적인 방법은 다음과 같이 cflags와 라이브러리를 명령줄의 올바른 위치와 기존 위치로 개별적으로 전달하는 것입니다.
gcc -Wall -o test `pkg-config --cflags glib-2.0` test.c `pkg-config --libs glib-2.0`
pkg-config가 --cflags와 --libs 옵션을 동시에 수락하는 것은 유감스러운 일입니다. 이는 이 잘못된 밈이 절대 죽지 않는다는 것을 의미하기 때문이며 Linux에서 사용하는 사람들은 다른 플랫폼에서 동일한 것을 시도할 때 계속 당황할 것이기 때문입니다.
~하듯이@chris
당해 용도pkg-config
.
glibconfig.h is missing
그 이유는 이 파일이 없기 때문입니다./usr/include/glib-2.0
그러나/usr/lib/glib-2.0.
그래서 당신은 이것도 포함해야 합니다./usr/lib
파일을 경로 지정 또는 복사합니다./include/glib-2.0
나는 glib.h has well을 사용하고 있습니다 - 모든 glib.h 프로그램을 컴파일하려면 이렇게 하십시오 :)
gcc `pkg-config --cflags --libs glib-2.0` filename.c
주위를 둘러보세요.pkg-config --cflags --libs glib-2.0
타일(쿼티 키보드의 대부분 키 왼쪽에 있음) 아래에 있는 백슬롯과 함께 사용합니다.
나중에 감사합니다.. :P
apt-get build-dep
당신의 친구입니다. 아무도 당신이 무언가를 만드는 데 필요한 모든 패키지를 기억할 수 없습니다.
언급URL : https://stackoverflow.com/questions/1146010/why-cant-i-build-a-hello-world-for-glib
'programing' 카테고리의 다른 글
SQL에서 NULL이 NULL과 일치하지 않는 이유는 무엇입니까? (0) | 2023.07.20 |
---|---|
virtualenvwrapper.sh 은 pip 설치 후 어디에 있습니까? (0) | 2023.07.20 |
파이썬에서 빠르고 쉬운 파일 대화? (0) | 2023.07.20 |
Github과 로컬에서 마지막 n개의 커밋을 삭제하는 방법은 무엇입니까? (0) | 2023.07.15 |
Visual Studio 2010:솔루션에서 프로젝트 빌드 순서를 적용하는 방법은 무엇입니까? (0) | 2023.07.15 |