[futurebasic] Re: [FB] Incorporating External Frameworks into an FB Project

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : May 2013 : Group Archive : Group : All Groups

From: Ken Shmidheiser <kshmidheiser@...>
Date: Mon, 6 May 2013 12:01:48 -0400
Concerning qrencode, Herbie wrote:

>AFAIK, qrencode needs to be installed independently from OS X and 
>does not exist by default

Talk about esoteric interweb code, qrencode has gotta be one of 
craziest pieces of source to build into a standalone Mac OSX binary 
that I have ever seen. The binary is dependent on X11 being installed 
and may also be OS X version specific-- at a minimum it requires Snow 
Leopard or later to compile and run. That said, it generates 
excellent QRCodes and is released under the liberal GNU Lesser 
General Public License.

For the venturesome:

1. Download the latest qrencode tarball (version 3.4.2) at:


2. Expand the tarball on your Desktop to reveal the qrencode-3.4.2 folder.

3. In the Terminal, change the directory to point to the qrencode-3.4.2 folder:

cd ~/Desktop/qrencode-3.4.2/

4. Once your Terminal is pointing to the qrencode-3.4.2 folder, 
sequentially enter the following commands in the Terminal, each 
followed by a carriage return (the last two commands will take some 
time to complete):

export png_CFLAGS="-I /usr/X11/include/"
export png_LIBS="-lpng -L/usr/X11/lib/"
touch pkg-config
chmod +x pkg-config
export PATH=$PATH:.
./configure --enable-static --disable-shared

5. The standalone qrencode binary can now be removed from the folder 
containing all the other Unix detritus.

qrencode flags:

-o	output filename
-s	number	size (number), specify the size of dot (pixel) (default = 3)
-l	LMQH}	level of error correction, from L lowest to H highest
-v	number	symversion (number), the version of the symbol (default = auto)
-m	number	margin width (default = 4)
-S	structured, make structured symbols.  Version must be specified
-c	case sensitive.  encode lower-case alphabet characters in 
8-bit mode (default)
-i	ignore case, only use upper case
-8	use 8 bit.  -k, -c, -i will be ignored
-v	display the version number and copyrights of the qrencode


// Default PNG, 3-pixel dot size
qrencode -o ~/Desktop/FBtoC.png "http://4toc.com/fb/index.htm"

// PNG with 5-pixel dot size
qrencode -o ~/Desktop/FBtoC5.png -s 5 "http://www.google.com"