1

jpeg_compressなどのビルド前の関数を使用せずにjpeglibを使用してjpegファイルを自分で書き込もうとしていますが、ヘッダーとテーブルを個別に記述しています...そしてここには多くの問題があります...

WindowsとVisualStudioを使用しているので、gnuwinサイトから.exeファイルをインストールし、コードに「include」フォルダーの4つのヘッダーファイルをインクルードしようとしましたが、write_file_header、jpeg_stdio_destなどの関数を呼び出そうとするとなど、リンクが欠落していると表示されるため、これらの関数が実装されているすべての.cファイルをインクルードする必要があります...

srcファイルも含めようとしましたが、同じ結果です...見つかったすべての例には、ヘッダーjpeglib.hのみが含まれ、他には何も含まれていませんが、この方法では必要な関数を使用できないため、質問はどうすればよいですか?それらのライブラリを適切に使用しますか?ありがとうございました

編集:エラーメッセージはエラーC3861です:識別子が見つかりません...単純に、libjpegの.cファイルにある関数を呼び出そうとすると、コンパイラはそれらの関数がどこにあるかを見つけることができません...

n.2を編集します:ここで関数の開始:

#include "jpeglib.h"
#include "jerror.h"
#include "Common.h"

void jpeg(unsigned int *Src, int srclen, unsigned int *cod, unsigned int *length){

struct jpeg_compress_struct cinfo;

write_file_header(&cinfo); <- here is the problem... how can i access that function?
4

1 に答える 1

0

ファイルを直接インクルードするべきではありません。このチュートリアルのようにライブラリにリンクするようにコンパイラに指示する必要があります。.c

jpeg ライブラリは別途ビルドする必要があります。

于 2012-06-28T08:09:48.657 に答える