[cups.development] Error trying to compile
Michael Sweet
msweet at apple.com
Mon Jul 25 09:17:10 PDT 2011
Use "cups-config --image --libs" when building a filter that uses the raster functions.
On Jul 23, 2011, at 10:45 AM, Sebastian wrote:
> Thanks for your answer.
> I am running debian squeeze and cups 1.4 that is suppose to have DDK in it. But following this clue I have isntall all -dev packages related with cups and it seems work better. But still the output is like this
>
> sebas at portatil:~/ppd/ppd$ gcc -o rastertotec -I /usr/include `cups-config --cflags` rastertotec.c `cups-config --libs`
> /tmp/ccyWTJNx.o: In function `main':
> /home/sebas/ppd/ppd/rastertotec.c:358: undefined reference to `cupsRasterOpen'
> /home/sebas/ppd/ppd/rastertotec.c:403: undefined reference to `cupsRasterReadHeader2'
> /home/sebas/ppd/ppd/rastertotec.c:443: undefined reference to `cupsRasterReadPixels'
> /home/sebas/ppd/ppd/rastertotec.c:467: undefined reference to `cupsRasterClose'
> collect2: ld returned 1 exit status
>
> So still it does not find some functions that are defined in raster.h that is of course included.
>
> Sorry if this is something too obvious. My knowledge of C is very short. I only worked under dos several years ago.
>
> Thanks in advance.
>
> Sebas
>
>
>
>> Install the CUPS developer package for your Linux distro.
>>
>> (and don't copy the use of the _cupsLang* functions - those are private functions that have changed over the various CUPS releases and are NOT safe to call from a third-party driver!)
>>
>> On Jul 21, 2011, at 8:29 AM, Sebastian wrote:
>>
>>> I am tryng to develop a filter for a label printer B-SV4 made by Toshiba TEC.
>>> When I try to compile with gcc I have the following otuput
>>>
>>> sebas at portatil:~/ppd/ppd$ gcc -o rastertotec -I /home/sebas/cups-1.4.4/ rastertotec.c
>>> /tmp/ccgoniEt.o: In function `StartPage':
>>> rastertotec.c:(.text+0x5ed): undefined reference to `ppdFindMarkedChoice'
>>> /tmp/ccgoniEt.o: In function `main':
>>> rastertotec.c:(.text+0x85a): undefined reference to `_cupsLangPrintf'
>>> rastertotec.c:(.text+0x8bc): undefined reference to `_cupsLangPrintf'
>>> rastertotec.c:(.text+0x8f4): undefined reference to `cupsRasterOpen'
>>> rastertotec.c:(.text+0x939): undefined reference to `cupsParseOptions'
>>> rastertotec.c:(.text+0x954): undefined reference to `ppdOpenFile'
>>> rastertotec.c:(.text+0x974): undefined reference to `ppdMarkDefaults'
>>> rastertotec.c:(.text+0x996): undefined reference to `cupsMarkOptions'
>>> rastertotec.c:(.text+0xa73): undefined reference to `_cupsLangPrintf'
>>> rastertotec.c:(.text+0xa96): undefined reference to `cupsRasterReadPixels'
>>> rastertotec.c:(.text+0xb20): undefined reference to `cupsRasterReadHeader2'
>>> rastertotec.c:(.text+0xb3d): undefined reference to `cupsRasterClose'
>>> rastertotec.c:(.text+0xb65): undefined reference to `ppdClose'
>>> rastertotec.c:(.text+0xb7c): undefined reference to `cupsFreeOptions'
>>> rastertotec.c:(.text+0xb9a): undefined reference to `_cupsLangPuts'
>>> rastertotec.c:(.text+0xbb6): undefined reference to `_cupsLangPuts'
>>> collect2: ld returned 1 exit status
>>>
>>> Though these functions are in the include headers except _cupsLangPrintf that I have not find yet.
>>>
>>> Following the compile instrucction on online cups pages
>>>
>>>> From the command-line, create a file called sample.c using your favorite editor and then run the following command to compile it with GCC and run it:
>>>
>>> gcc -o simple `cups-config --cflags` simple.c `cups-config --libs`
>>> ./simple
>>>
>>> The cups-config command provides the compiler flags ("cups-config --cflags") and libraries ("cups-config --libs") needed for the local system.
>>>
>>> I have not found cups-config but cups-config.in and tried again.
>>>
>>> sebas at portatil:~/ppd/ppd$ gcc -o rastertotec `/home/sebas/cups-1.4.4/cups-config.in --cflags` rastertotec.c `/home/sebas/cups-1.4.4/cups-config.in --libs`
>>> gcc: @EXTLINKCUPS@: No existe el fichero o el directorio
>>> gcc: @LIBGSSAPI@: No existe el fichero o el directorio
>>> gcc: @EXPORT_SSLLIBS@: No existe el fichero o el directorio
>>> gcc: @EXPORT_LIBZ@: No existe el fichero o el directorio
>>> gcc: @LIBS@: No existe el fichero o el directorio
>>>
>>> In this case it does not find some files or directories that cups-config.in referencies.
>>>
>>> Please any clue to solve it.
>>>
>>> Sebas
>>>
>>>
>>>
>>> _______________________________________________
>>> cups-dev mailing list
>>> cups-dev at easysw.com
>>> http://lists.easysw.com/mailman/listinfo/cups-dev
>>
>> ________________________________________________________________________
>> Michael Sweet, Senior Printing System Engineer, PWG Chair
>>
>
> _______________________________________________
> cups-dev mailing list
> cups-dev at easysw.com
> http://lists.easysw.com/mailman/listinfo/cups-dev
________________________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair
More information about the cups-devel
mailing list