빌드 오류 - 누락된 헤더 파일을 수정하는 방법

빌드 오류 - 누락된 헤더 파일을 수정하는 방법

구축하려고 해요설형 문자imageMagick을 지원하는 소스에서 헤더 파일이 누락된 데비안 패키지처럼 보입니다. 실행 중일 때 make프로세스가 끝나면 실패합니다.

[100%] Building CXX object cuneiform_src/cli/CMakeFiles/cuneiform-cli.dir/cuneiform-cli.cpp.o
In file included from /usr/include/ImageMagick-6/Magick++/Include.h:13:0,
                 from /usr/include/ImageMagick-6/Magick++.h:9,
                 from /tmp/cuneiform-linux-1.1.0/cuneiform_src/cli/cuneiform-cli.cpp:156:
/usr/include/ImageMagick-6/magick/magick-config.h:21:38: fatal error: magick/magick-baseconfig.h: No such file or directory
 #include "magick/magick-baseconfig.h"
                                      ^
compilation terminated.

헤더를 검색해 보면 다른 ImageMagick 디렉터리에서 찾을 수 있는 것으로 나타났습니다.

$ find /usr/include/ -name "*baseconfig*"
/usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h7

누락된 파일을 멍청한 소프트 링크로 연결해도 문제가 해결되지 않았습니다.

컴파일러가 다른 포함 디렉토리를 사용하도록 하려면 어떻게 해야 합니까?

답변1

설형문자에는 CMakeLists.txt라이브러리의 아치별 포함 경로가 포함되지 않습니다. ImageMagick에 대해 이 문제를 해결하려면 라인 40을 변경하십시오 cuneiform_src/CMakeLists.txt.

include_directories(${ImageMagick_Magick++_INCLUDE_DIR})

에게

include_directories(${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_Magick++_ARCH_INCLUDE_DIR})

CMake pkg-config통합은 정보를 올바르게 검색합니다.

답변2

참조.http://bazaar.launchpad.net/~jpakkane/cuneiform-linux/trunk/files

cuneiform_src/에 있는 파일의 타임스탬프는 2010년 이전입니다. 새롭고 멋진 데비안 경로를 찾을 수 없는 것은 당연한 일입니다. (magick/magick-baseconfig.h를 찾을 수 없습니다).

쉬운 수정: #mkdir /usr/local/include/magick

# cp /usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h /usr/local/include/magick/

... 그리고 실행 파일이 cuneiform생성됩니다.

관련 정보