###前提・実現したいこと
test.c(一番下に載せてます)をコンパイルしたく、
gcc -Wall test.c -ljpeg
としてコンパイルしてもコンパイルができません。エラーメッセージは以下です。
In file included from test.c:1: ./jpegio.h:5:10: fatal error: 'jpeglib.h' file not found #include <jpeglib.h> ^ 1 error generated.
jpegio.hで#include <jpeglib.h>とjpeglib.hをincludeしています。
jpeglibはhttp://www.ijg.org/より入手し、以下の手順を実行済みです。
#cd jpeg-6b #./configure --prefix=/usr/local #make #make install
/usr/local/includeの中にjpeglib.hがあることは確認できます。
パスの問題なのかと思い、
gcc -I /usr/local/include test.c
としてコンパイルすると、
(略) "_jpeg_write_scanlines", referenced from: _writeJpeg in test-9d7f1b.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
のようなエラーメッセージでコンパイルができません。
どのようにすればコンパイルできますか。
よろしくお願いします。
###test.c
c
1#include "jpegio.h" 2 3int main(void) { 4 5 char *filename = "Huukei.jpg"; 6 //画像データ配列の先頭へのポインタ 7 BYTE* imageData = NULL; 8 int Width; 9 int Height; 10 int BPP; 11 int imageSize; 12 int dataSize; 13 14 Width = readHeader(filename, IMAGE_WIDTH); 15 Height = readHeader(filename, IMAGE_HEIGHT); 16 BPP = readHeader(filename, IMAGE_BPP); 17 imageSize = Width*Height*BPP; 18 //データサイズの読み込み 19 dataSize = readJpeg(filename, &imageData); 20 21 22 printf("Width:%d\n", Width); 23 printf("Height:%d\n", Height); 24 printf("BPP:%d\n", BPP); 25 printf("ImageSize(Width*Height*BPP):%d\n", imageSize); 26 printf("ImageSize(readJpegによる読み込み):%d\n", dataSize); 27 if(imageSize == dataSize) { 28 printf("一致しました.\n"); 29 } 30 31 return 0; 32} 33
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。