Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

linker Error JPEG compression Mac OS X

Rohit_Dhamija
Beginner
237 Views

Hi,

I am working on Mac OS X 10.5.2, Xcode 3.1.2 version. One of modules of my application require JPEG compression technique, to accomplish, we are using the ijg sample ( provided in ipp-samples->image-codecs).

Below are the steps used

1. Compiled ijg sample (using build.sh)

2. Added libjpeg.ipp.a and libjpeg.ipp.dynlib created through this sample into our application

3. Added jconfig.h, jerror.h, jmorecfg.h, jpeglib.h and jversion.h from the include folder of ijg sample into our application.

The code on compilation gave following linker errors:

++++++++++++++++++++++++

"_ippiEncodeHuffmanStateInit_JPEG_8u", referenced from:

_start_pass_huff in libjpeg.ipp.a(jchuff.o)

"_ippiRGBToYCbCr_JPEG_8u_C3P3R", referenced from:

_rgb_ycc_convert_intellib in libjpeg.ipp.a(jccolor.o)

"_ippiEncodeHuffman8x8_JPEG_16s1u_C1", referenced from:

_encode_mcu_huff_intellib in libjpeg.ipp.a(jchuff.o)

_encode_mcu_huff_intellib in libjpeg.ipp.a(jchuff.o)

_finish_pass_huff in libjpeg.ipp.a(jchuff.o)

"_ippiGetHuffmanStatistics8x8_JPEG_16s_C1", referenced from:

_encode_mcu_gather_intellib in libjpeg.ipp.a(jchuff.o)

"_ippiSampleDownRowH2V2_Box_JPEG_8u_C1", referenced from:

_h2v2_downsample_intellib in libjpeg.ipp.a(jcsample.o)

"_ippiEncodeHuffmanStateGetBufSize_JPEG_8u", referenced from:

_start_pass_huff in libjpeg.ipp.a(jchuff.o)

"_ippiSampleDownRowH2V1_Box_JPEG_8u_C1", referenced from:

_h2v1_downsample_intellib in libjpeg.ipp.a(jcsample.o)

"_ippiEncodeHuffmanSpecGetBufSize_JPEG_8u", referenced from:

_start_pass_huff in libjpeg.ipp.a(jchuff.o)

_start_pass_huff in libjpeg.ipp.a(jchuff.o)

_jpeg_make_c_derived_tbl_intellib in libjpeg.ipp.a(jchuff.o)

"_ippiEncodeHuffmanRawTableInit_JPEG_8u", referenced from:

_jpeg_gen_optimal_table_intellib in libjpeg.ipp.a(jchuff.o)

_finish_pass_gather in libjpeg.ipp.a(jchuff.o)

_finish_pass_gather in libjpeg.ipp.a(jchuff.o)

"_ippiRGBToY_JPEG_8u_C3C1R", referenced from:

_rgb_gray_convert_intellib in libjpeg.ipp.a(jccolor.o)

"_ippiEncodeHuffmanSpecInit_JPEG_8u", referenced from:

_start_pass_huff in libjpeg.ipp.a(jchuff.o)

_start_pass_huff in libjpeg.ipp.a(jchuff.o)

_jpeg_make_c_derived_tbl_intellib in libjpeg.ipp.a(jchuff.o)

"_ippiQuantFwdTableInit_JPEG_8u16u", referenced from:

_start_pass_fdctmgr in libjpeg.ipp.a(jcdctmgr.o)

"_ippiCMYKToYCCK_JPEG_8u_C4P4R", referenced from:

_cmyk_ycck_convert_intellib in libjpeg.ipp.a(jccolor.o)

"_ippiDCTQuantFwd8x8LS_JPEG_8u16s_C1R", referenced from:

_forward_DCT_intellib in libjpeg.ipp.a(jcdctmgr.o)

ld: symbol(s) not found

collect2: ld returned 1 exit status

Build failed (14 errors)

++++++++++++++++++++++++

Our main purpose is to compress our raw data in JPEG format.

WHAT ARE THE MINIMAL SET OF LIBRARIES FROM INTEL IPP COMPILER PACKAGE TO COMPILE THE CODE SUCCEESSFULLY??

FYI: We have licensed version of Intel C++ compiler, and are using the same.

Thankyou.

Regards,

Rohit Dhamija

0 Kudos
2 Replies
Vladimir_Dudnik
Employee
237 Views
You may not need to add both static (libjpeg.ipp.a) and dynamic (libjpeg.ipp.dylib) libraries into single application simultaneously.

Vladimir
0 Kudos
Chao_Y_Intel
Moderator
237 Views

there were one duplicate post on this problem. combined it to this post:

Vladimir Dudnik (Intel)

Hi Rohit,

I answered in your first thread, just would like to add - please consider IJG sample Makefile on what options should be used to link with libjpeg library. As you may notice, when you build IPP IJG sample it built not only JPEG libraries but also set of standard IJG sample applications, like cjpeg, djpeg and others and one developed by us (ijg_timing). Those are application which linked with libjpeg library.

Vladimir

0 Kudos
Reply