Estimados ....
1.- Como puedo compilar varios prg's y dese luego encadenarlos ?
2.- Al algun ejemplo de crear lib's para que sean enlazadas a los proyectos ?
3.- El echo de trabajar con 10.5 y 10.6 es necesario solicitar por aparte las lib de fivemac ?
4.- Nuestro estimado Martin pone algunos ejemplos, y los archivos independientes, es decir .m ( creo que seria como tipo .c )
como compilar estos o bien si build.sh podria hacer el trabajo de incluirlos.
5.- Recomendacion es de un editor de textos o bien usar el Xcode editor ?
6.- He estado viendo el diseno de pantallas via Xcode-interface builder, pero no he visto, ( seria question de verlo ) como poder incrustar un browse. y redefinirlo en el prg ?
Un saludo y gracias.
Osvaldo Ramirez
Preguntas Simples
Re: Preguntas Simples
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 .
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
# ./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
-
- Posts: 49
- Joined: Mon Jan 19, 2009 4:40 pm
Re: Preguntas Simples
Estimado
Agradesco mucho tus comentarios...
y claro tambieng gracias por los build.sh
Saludos
Osvaldo Ramirez
Agradesco mucho tus comentarios...
y claro tambieng gracias por los build.sh
Saludos
Osvaldo Ramirez
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Preguntas Simples
Osvaldo, Manuel,
Para construir una libreria, solo hay que llamar a:
ar rc mylibrary.a modulo.o
Y creará la libreria mylibrary.a añadiéndole el módulo con extensión .o generado con gcc
Para construir una libreria, solo hay que llamar a:
ar rc mylibrary.a modulo.o
Y creará la libreria mylibrary.a añadiéndole el módulo con extensión .o generado con gcc
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Preguntas Simples
Para poder trabajar con Leopard 10.5 (32 bits) y Snow Leopard 10.6 (64 bits) lo mejor será que en el próximo build de FiveMac incluyamos el fichero make que nosotros usamos para que asi podais construir vosotros mismos las librerias para la versión que necesiteis
En cuanto al editor de código fuente, yo sigo usando el UEStudio de Windows gracias a "WinBottler". Lo mismo para el Total Commander que para mi es totalmente necesario. En este tema cada programador tiene sus preferencias
http://winebottler.kronenberg.org/
En cuanto al editor de código fuente, yo sigo usando el UEStudio de Windows gracias a "WinBottler". Lo mismo para el Total Commander que para mi es totalmente necesario. En este tema cada programador tiene sus preferencias
http://winebottler.kronenberg.org/
-
- Posts: 49
- Joined: Mon Jan 19, 2009 4:40 pm
Re: Preguntas Simples
Estimado ...
Muchas gracias por la informacion y esperando q tambien a otros les sirva.
Saludos
Osaldo Ramirez
Muchas gracias por la informacion y esperando q tambien a otros les sirva.
Saludos
Osaldo Ramirez