Bonjour ,

J'essaie actuellement d'utiliser une librairie en C dans un projet QT en C++.

J'ai ajouté à mon .pro les librairies libml et libhe (les chemins includepath et libs sont en vrai en dur)
Code qt : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
QT       += core gui
QT       += opengl
 
TARGET = morphing-meshes
TEMPLATE = app
 
SOURCES += main.cpp\
        cmainwindow.cpp \
    caffichage.cpp \
    myqglwidget.cpp
 
HEADERS  += cmainwindow.h \
    caffichage.h \
    myqglwidget.h
 
FORMS    += cmainwindow.ui
 
INCLUDEPATH += $$quote(.\gmtools\he\inc\) \
        $$quote(.\gmtools\ml\inc\)
 
win32:LIBS += $$quote(.\gmtools\ml\lib\libml.a) \
            $$quote(.\gmtools\he\lib\libhe.a)

Elles sont donc un ensemble de fonctions écrites en C, mais lorsque je veux les utiliser j'ai un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[...]\icp-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug\..\ICP\cmainwindow.cpp:30: erreur : undefined reference to `heMesh_New()'
Le code entier est un peu long à donner, mais j'ai bien sûr ajouté l'inclue <he.h> dans cmainwindow.cpp.
J'ai vu en cherchant sur internet un truc du genre:
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
extern C {
//...
}
qui pourrait avoir rapport à mon cas mais je n'ai pas trouvé comment l'utiliser.

Si vous avez une idée ou si vous voulez plus de précisions sur mon problème je vous en remercie

Cordialement,

Inouee