Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Qt4


abitaf

Messages recommandés

je suis entrain de programmer une application avec QT4 et g une librairie que g programmer en C g bien rajouter dans le header mabib.h :

 

#ifdef __cplusplus

extern "C" {

#endif

 

#endif

#ifdef __cplusplus

}

 

mais g toujours un pbm lors du linkage indefined reference to ... qqn a une idée :confused:

Modifié par abitaf
Lien vers le commentaire
Partager sur d’autres sites

#ifndef LIB_MAQAO

#define LIB_MAQAO

 

#ifdef __cplusplus

extern "C" {

#endif

 

extern int project_create();

 

extern int project_open(char* projectfile);

 

extern int project_save(char* filename);

 

extern int project_close();

 

extern int project_asmfile_count();

 

extern char *project_asmfile_get(int index);

 

extern char *load(char *filename);

 

extern char* db_filename(char *asmfile);

 

extern char* source_filename(char * asmfile);

 

extern int unload(char * asmfile);

 

extern int get_block_lines(char *asmfile, int blockid, int *srcline);

 

extern int function_count(char *asmfile);

 

extern char *function_iter(char *asmfile);

 

extern char *get_function_name(char *asmfile,int id);

 

extern int print_assembly(char* asmfile, char* filename);

 

extern int print_decorated();

 

extern char* save_project_call_graph();

 

extern char* save_call_graph(char *asmfile);

 

extern char* save_control_flow_graph(char *asmfile, int function_global_id, int type);

 

extern char* save_ddg(char *asmfile, char *blocks,int length);

 

extern int instrumenter_command(char* asmfile, char command, char* arg1);

 

extern char *ii_cmd(char *buff);

 

extern void ii_load_file(char *file);

 

extern void ii_init(void);

 

extern void ii_init_batch(int shellinit);

 

extern void oracle_init();

 

extern void oracle_execute(char *asmfilename);

 

extern void oracle_set_current_filename(char *assemblyfilename);

 

extern void ddg_init();

 

extern void ddg_execute(char *asmfilename, char *blocks,int length,int mode);

 

 

#ifdef __cplusplus

}

#endif

 

#endif /* LIB_MAQAO */

Lien vers le commentaire
Partager sur d’autres sites

#ifndef LIB_MAQAO

#define LIB_MAQAO

 

#ifdef __cplusplus

extern "C" {

#endif

 

extern int project_create();

 

extern int project_open(char* projectfile);

 

extern int project_save(char* filename);

 

extern int project_close();

 

extern int project_asmfile_count();

 

extern char *project_asmfile_get(int index);

 

extern char *load(char *filename);

 

extern char* db_filename(char *asmfile);

 

extern char* source_filename(char * asmfile);

 

extern int unload(char * asmfile);

 

extern int get_block_lines(char *asmfile, int blockid, int *srcline);

 

extern int function_count(char *asmfile);

 

extern char *function_iter(char *asmfile);

 

extern char *get_function_name(char *asmfile,int id);

 

extern int print_assembly(char* asmfile, char* filename);

 

extern int print_decorated();

 

extern char* save_project_call_graph();

 

extern char* save_call_graph(char *asmfile);

 

extern char* save_control_flow_graph(char *asmfile, int function_global_id, int type);

 

extern char* save_ddg(char *asmfile, char *blocks,int length);

 

extern int instrumenter_command(char* asmfile, char command, char* arg1);

 

extern char *ii_cmd(char *buff);

 

extern void ii_load_file(char *file);

 

extern void ii_init(void);

 

extern void ii_init_batch(int shellinit);

 

extern void oracle_init();

 

extern void oracle_execute(char *asmfilename);

 

extern void oracle_set_current_filename(char *assemblyfilename);

 

extern void ddg_init();

 

extern void ddg_execute(char *asmfilename, char *blocks,int length,int mode);

 

 

#ifdef __cplusplus

}

#endif

 

#endif /* LIB_MAQAO */

 

The header looks fine. Without seeing the code and what you're trying to do I cannot be of big help. Undefined reference means that one/multiple functions were defined but never implemented.

 

What is the exact error message you're getting?

Lien vers le commentaire
Partager sur d’autres sites

project_create() est définie dans libmaqao.c qui est compilé avec gcc pour produire libmaqao.so que je lie avec mon projet Qt4 -L/home/abitaf/local/lib

il n'y a pas d'erreur de compilation l'erreur elle est a l'édition de lien ?

 

 

Try to include libmaqao.c in your project since you already added the extern directive, the c++ compiler will recognize it as c code.

Lien vers le commentaire
Partager sur d’autres sites

libmaqao est composé de plusieurs source voici le makefile :

 

ficihier Makefile.config :

### Executables

 

CC=gcc

DOXYGEN=/usr/bin/doxygen

SWIG=/usr/bin/swig

LEX=/usr/bin/flex

YACC=/usr/bin/bison

SQLITE=/usr/bin/sqlite3

 

### Flags

LEXLIB=-lfl

CFLAGS=-O2 -Wall -I. -I.. -DDEBUG -g -O2 -I/home/abitaf/local/include -I/usr/include/lua5.1 -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl/5.8/CORE

LDFLAGS= -L/home/abitaf/local/lib -lm -L. -lm -llua5.1 -lsqlite3 -ldl -lmhash

 

fichier Makefile :

############################################################################

############################################################################

include ../Makefile.config

 

CFLAGS += $(EXTRA_FLAGS)

 

SRCS=type.c sqlite.c file.c asm.c flow_graph.c dominance.c lex.mir.c mir.tab.c instrumenter.c hotpath.c md5.c parser.c printer.c printer_common.c \

ia64/lexer.c ia64/printer.c ia64/printer_tools.c ia32/lexer.c ia32/printer.c \

ia64/libii64.c ia32/libii32.c

 

LIBOBJ=ia32/lex.ia32.o ia64/lex.ia64.o ia64/lex.ia64dump.o libmaqao.o ia32/libii32.o ia64/libii64.o libii.o

 

SUBDIRS=ia32 ia64

 

all:

@for i in $(SUBDIRS); \

do \

cd $$i && $(MAKE) || exit 1; cd ..; \

done

$(MAKE) libmaqao.so maqao-parser maqao-instrumenter

 

.PHONY: all doc clean

 

maqao-parser: maqao.o libmaqao.so

$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -L. -lmaqao -pg

 

maqao-instrumenter: maqaoinstru.o libmaqao.so

$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -L. -lmaqao -pg

 

libmaqao.so: $(SRCS:%.c=%.o) $(LIBOBJ)

$(CC) -shared -o $@ $^ $(LDFLAGS) $(LEXLIB) -pg

 

doc: ${SRCS:%.c=%.h} libmaqao.h Doxyfile

$(DOXYGEN) Doxyfile

 

clean:

@for i in $(SUBDIRS); \

do \

cd $$i && $(MAKE) clean && cd ..; \

done

-@rm -f *.o *~ *.so mir.tab.c mir.tab.h lex.mir.c maqao-instrumenter maqao-parser

 

distclean:

-@rm -f config.h

 

lex.mir.c: mir.l mir.tab.h

${LEX} -Pmir mir.l

 

mir.tab.h:mir.tab.c # fake dependency

 

mir.tab.c: mir.y hotpath.h sqlite.h

${YACC} -d -p mir -o mir.tab.c mir.y

 

type.o: type.h

sqlite.o: debug.h type.h asm.h sqlite.h file.h

asm.o: debug.h asm.h type.h

md5.o: md5.h

file.o: file.h config.h

flow_graph.o: debug.h asm.h type.h flow_graph.h

dominance.o: debug.h asm.h type.h flow_graph.h dominance.h

sqlite.o: debug.h asm.h type.h flow_graph.h dominance.h sqlite.h ../sql/create.sql

libmaqao.o: asm.h flow_graph.h printer.h parser.h dominance.h sqlite.h file.h libii.h

hotpath.o: hotpath.h asm.h debug.h type.h

instrumenter.o:instrumenter.h mir.tab.h

 

question : est-ce que je doit compiler libmaqao avec g++ ? normalement il est possible de lié un code compilé avec g++ avec une libraire compilé avec gcc ?

Lien vers le commentaire
Partager sur d’autres sites

merci pour l'aide je vien de resoudre le probleme moi je rajouter ma bib avec :

g++ -L/home/abitaf/local/lib

 

au lieu de ca il faut faire :

g++ -L/home/abitaf/local/lib -lmaqao :)

 

maintenant je passe a un autre problème g un composent QTextEdit dans ma fenêtre pour l'édition de source je voudrai qu'il m'affiche le numéro de la ligne a gauche qqn a une idée g trouvé des source qui font sa mais en complique il définisse un composant personnalisé avec l'héritage et redéfinisse plein de fonction moi je veux quelque chose de simple

 

encore merci beaucoup :D

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • ce que je reproche a AT ,, ils annonce des truc en grand pompe mais la réalité et tout autre .......meme pas un cahier des charger ....  bref un je vous explique le probleme que j'ai avec AT.... dans l'ordre purement technique ...  quand je bossé  a une époque au europe  " j'etai dans le domains de la fibre WDS OLT OTN configue et déploiement ect..... "bon breff lol  exemple ya pas mal de quartier batiment zone pavillonnaire avec des NRO "Nœud de Raccordement Optique" ou ya les OLT ect...   de différent équipementier  ZTEG HWTC ALCL ect.. pour chaque operateur ....  ,  pour le déploiement des BOX  des operateur par le OMCI , c'est une base de donne et roule ma poulee ...  .. mais ça n'exclut pas d'autre ONT ONU SFP de rentre dans le GPON ou XGS-pon. exemple un client veux changé ça LiveBox 5 6 ou 7 par un routeur avec un port SFP+ pas de problème ,un appel et c'est réglé en quelque minute .... parce que c'est prévu pour et en plus y'avais du personnelle qualifier...  ici chez AT  ya des  OLT ZTEG lazem que des ONT ZTE point .."rien à foutre"  OLT HWTC "Huawei" aussi Lazem que des ONT Huawei  ... OLT ALCL nokia lazem que des ONT NOKIA ..... wachbikmou arreté les débilité tout ça parce que ya pas du personnelles qualifier  dans le demains chez AT ?? sérieux nous somme arrivé a ça .... vous trouve ça logique ... rien d'ici a Alger des quartier entier privé de la fibre depuis plus d'une année parce que y'avais un déploiement des OLT ALCL nokia ou fibrehome...ah  pas de boule ils manque d'ONT NOKIA ou fibrehome, alors pas de fibre .. et c'est personnes ils ont comptabilisé dans les 2 million za3ma fibre ...  je vous parle meme pas des autre wilaya ... mais bon doucement mais surement inchallah  quand je critique AT c'est pour qu'il améliore leur service pas le contraire,, mais je vois une  dégradation spectaculaire /// matos offert personnelles ect....  heureusement  ya des personnes compétentes chez AT el hamdouallah, c'est grâce a eux que AT ce développe un peut ... mais les autre AAAAAA " le problème du monopole  et c'est dérivée " mais il faut pas oublier aussi que le déploiement de la fibre en 2020  ou 2019 c'etai une affaire ou Pluto une volonté  politique et non économique ou besoin .... comme dans les autre pays... comme je le dit toujours "algerietelecom wakoulo yataalem " 😅
    • C'est exactement ce je reproche à AT qui ne cesse de se réjouir  des nouveautés comme un enfant gâté qui découvre un nouveau jouet ,l'utilise juste pour son plaisir de  se vanter auprès de sa hiérarchie "on a ca donc est meilleur" alors que ces dernières ne sont accessibles qu'à un petit nombre d'abonnés surtout les privilégiés d'en haut à qui  (dans sa situation de monopole) s'empresse de faire plaisir pendant que au moins plus de la moitié de clients d'en bas souffrent encore avec le réseau de cuivre vétuste et des offres de 10 MBps dont certains n'en reçoivent réellement que 50%. Ces derniers qui attendent la fibre optique depuis 2020 perçoivent ces pratiques de marketing  en plus de la prétention de vendre du Wifi comme la fameuse offre Wifi Dari, comme du mépris et de l'arrogance. On ne peut pas leur reprocher de critiquer AT dans ces pratiques.
    • le problème meme si ta un wifi 6 mais il reste faible le wifi c'est plusieurs option et caractéristique matériaux qui suive la puce elle meme ne règle pas tous les problèmes j'ai testé leur modem wifi 6 presque même couverture du signale que wifi 5 avec un peut meilleur  gestion de la bande et client je pense que les responsable font du marketing et néglige la gestion et réalité de terrain et problème real de la clientèle 
    • @Lyès meme ici aucune information dit que AT va propose des BOX "modem si vous voulais" avec la norme BE... la seul information qui y'a , AT a présenté la norme 802.11BE qui existe de puis 3ans  normalise l'année dernier "2024" vu les articles  c'est comme si AT a inventé la norme 802.11 . je site APS  "Le lancement commercial du Wi-Fi 7, une première en Afrique, affirme l'engagement d'Algérie Télécom envers l'innovation et l'excellence technologique." elle va lance quoi des BOX ou juste des routeur be3600 ??? c'est pour ça en spécule ... si c'est des BOX avec wifi 7 6ghz 320mhz lan 2.5gb 'spécial operateur', que demande le peuple moi le premier je serais happy 😀. et effectivement ça sera une première en Afrique. " chapeau bas"  mais si a la fin, en va  voir que AT va propose juste des routeur wifi 7 premier prix des b3600 ou BE5100 tenda et compagnie avec des LAN 1gbs ou des ONT ONU des 4 équipementier qui existe déjà comme OptiXstar EG8145B7-50 avec du faux wifi 7 2.4 5ghz 160mhz largeur de band et des LAN 1gbs  ..... la ça sera une mahzalaa intergalactique 😅 ... ça me rappel l'offer  twinbox , a la fin c'est juste une box iptv avec un chipset d'entre gamme. pour la meme somme ou moins  je peux m'offrir une box mieux équipé avec une offert iptv plus attractive . la box fanbox 10 V2 elle et fabriqué en Tunisie mais ils fon pas un bouquant eux.... mais jusqu'à mnt AT a juste des ONT ONU des 4 équipementier défirent, les dernier ONT avec AX3000 et des LAN 1GB,et quelque OptiXstar EG8145B7-50 a l'aéroport hotel za3ma wifi 7 mais c un faux c'est un be3600 avec LAN 1gbs et des offert 1.2gb non exploitable ... vous allez me dir oui en France ou l'europe ça s'appel une offert partage. ouii exactement. mais a quoi bon de crée une offert que la plus part des gens ne peuvent pas l'exploiter.. tout ça que AT puisse dire nous somme les premier en Afrique avec une offert 1.2gb . waw 1.2gb et ya encore des offerts de 15 mbs 30mbs dans leur grille 🤣 la logique dit lazem que AT propose des offert fibre adapté exemple 500/400 1gb/700 ou symétrique 800/800 max 900/900. mais non , meme la logique tarifaire , vous trouvé normal l'offert 15mbs a 2000DA pour 1000DA de plus j'ai la 300mbs et encore pour 1200DA j'aurai 1.2gbs😅? personne a ma connaissance personne fais du "bashing " moi le premier si AT fais un truc bien, je les félicites ... mais la réalité et tout autre .... l'incompétence des les ACTEL le manque des ONT , des installation foireuse.. mais Il faut rendre a cesar ce qui appartient a cesar, pour une foi AT ou pluto leur sous-traitant qui font un boulot Pluto correcte pour une foi "sur la fibre bien sur ".  perso fair un gala parce que sur le papier y'a 2million d'abonnée ? non un peut du sérieux ... el mouhime l'avenir le dira inchallah si ça sera des BOX un vrai bond en avant 😎, si non AT reste toujours raté 😅
    • Mouais, très décevant d'en parler a grande pompes si le lancement pour les particuliers est si lointain.. La décision de la lancer dans deux ans ne me surprends pas étant donné que le WiFi 6 fait l'affaire avec les offres actuelles mais la communication est nulle.
×
×
  • Créer...