2.- Una buena pregunta que seguro Antonio nos puede contestar ...
6.- El browse en mac se llama NSTableview , tienes que buscarlo en el inspector de objetos ( usa el filtro ) y lo arrastras a la ventana principal , en sus propiedades le cambias el tag por el que tu quieras usar y ya estaría , pero de momento creo que no está soportado "desde recursos ".
3.- El programa una vez generado no necesita ninguna libreria para funcionar
5.- Estoy usando el editor de xcode .Seguro que no es el mejor , pero si elque mas a mano tengo . tiene un autocompletar que evita teclear demas y una busqueda bastante buena .
1. y 4.- - Te comento como lo estoy haciendo yo ( que seguro hay mejores maneras )
Para crear un proyecto nuevo creo una carpeta en el raiz de fivemac . Me explico : /User/fivemac/Miproyecto .
en ella voy colocando todos los archivos que necesito para el proyecto.
Copio el build.sh de samples y lo coloco en la carpeta . Lo edito y cambio lineas ....
1.- voy a la linea de abajo de echo compiling .
copio esa linea completa y la duplico una vez por cada prg a enlazar con sus nombres respectivos, menos el prg principal .
Esto hace que se ejecute harbour en cada uno de los prg y se generen sus archivos .c
tienes que añadir estos archivos al compilador y al linkador de c en la linea debajo de :
compilin y linking.
Los archivos .m son archivos objective -c equivalentes a los archivos .c .solo tienes que añadirlos en el mismo sitio que los anteriores y listo .
Te pongo un build.sh generico que te ilustrará mas que esta explicación .
luego en terminal : ./build.sh myprog.prg y revisa si todo compila correcto .
- Code: Select all Expand view
# ./build.sh - (c) FiveTech Software 2007-2010
clear
if [ $# = 0 ]; then
echo syntax: ./build.sh file [options...]
exit
fi
echo compiling...
./../../harbour/bin/harbour 1$ -n -I./../include:./../../harbour/include $2
./../../harbour/bin/harbour prg2.prg -n -I./../include:./../../harbour/include $2
./../../harbour/bin/harbour prg3.prg -n -I./../include:./../../harbour/include $2
if [ 1$ = 1 ]; then
exit
fi
echo compiling C module...
# add -arch ppc -arch i386 for universal binaries
gcc $1.c pr2.c prg3.c archivo1.m archivo2.m -c -I./../include -I./../../harbour/include
if [ ! -d $1.app ]; then
mkdir $1.app
fi
if [ ! -d $1.app/Contents ]; then
mkdir $1.app/Contents
echo '<?xml version="1.0" encoding="UTF-8"?>' > $1.app/Contents/Info.plist
echo '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' >> $1.app/Contents/Info.plist
echo '<plist version="1.0">' >> $1.app/Contents/Info.plist
echo '<dict>' >> $1.app/Contents/Info.plist
echo ' <key>CFBundleExecutable</key>' >> $1.app/Contents/Info.plist
echo ' <string>'$1'</string>' >> $1.app/Contents/Info.plist
echo ' <key>CFBundleName</key>' >> $1.app/Contents/Info.plist
echo ' <string>'$1'</string>' >> $1.app/Contents/Info.plist
echo ' <key>CFBundleIdentifier</key>' >> $1.app/Contents/Info.plist
echo ' <string>com.fivetech.'$1'</string>' >> $1.app/Contents/Info.plist
echo ' <key>CFBundlePackageType</key>' >> $1.app/Contents/Info.plist
echo ' <string>APPL</string>' >> $1.app/Contents/Info.plist
echo ' <key>CFBundleInfoDictionaryVersion</key>' >> $1.app/Contents/Info.plist
echo ' <string>6.0</string>' >> $1.app/Contents/Info.plist
echo ' <key>CFBundleIconFile</key>' >> $1.app/Contents/Info.plist
echo ' <string>fivetech.icns</string>' >> $1.app/Contents/Info.plist
echo '</dict>' >> $1.app/Contents/Info.plist
echo '</plist>' >> $1.app/Contents/Info.plist
fi
if [ ! -d $1.app/Contents/MacOS ]; then
mkdir $1.app/Contents/MacOS
fi
if [ ! -d $1.app/Contents/Resources ]; then
mkdir $1.app/Contents/Resources
cp ./../icons/fivetech.icns $1.app/Contents/Resources/
fi
echo linking...
# add -arch ppc -arch i386 for universal binaries
gcc $1.o prg2.o prg3.o archivo1.o archivo2.o -o ./$1.app/Contents/MacOS/$1 -L./../lib -lfive -lfivec -L./../../harbour/lib -lhbdebug -lhbvm -lhbrtl -lhblang -lhbrdd -lhbrtl -lgttrm -lhbvm -lhbmacro -lhbpp -lrddntx -lrddcdx -lrddfpt -lhbsix -lhbcommon -framework Cocoa
rm $1.c
rm $1.o
echo done!
./$1.app/Contents/MacOS/$1
# reset