ich habe ein Problem beim Linken von statischen Libraries. Im Forum habe ich schon gesucht und die Lösungsvorschläge umgesetzt. Bisher jedoch ohne Erfolg.
Ich habe ein Programm, in das ich eine Header-Datei samt Library einbinden möchte, um die Funktionen zu nutzen.
hier meine cpp-source:
Code: Alles auswählen
#include "Mil.h"
#include "mil_funct.h"
using namespace std;
mil_funct::mil_funct() {
// TODO constructor stuff
}
mil_funct::~mil_funct() {
// TODO destructor stuff
}
void mil_funct::init() {
MIL_ID MilApplication,MilSystem,MilDisplay,MilDigitizer,MilImage;
/* Allocate defaults. */
MappAllocDefault(M_SETUP,&MilApplication,&MilSystem,&MilDisplay,&MilDigitizer,&MilImage);
}
QByteArray mil_funct::getLine(int DeviceNo) {
QByteArray BA;
// do some stuff
return BA;
}
mil.h verweist auf weitere Header-Dateien, die im selben Verzeichnis liegen (./devlibs).
Ich muss jetzt noch gegen die mil.lib linken. Dazu habe ich folgendes in der .pro-Datei:
Code: Alles auswählen
TEMPLATE = app
TARGET = IProc
DEPENDPATH +=
INCLUDEPATH +=
# Input
HEADERS += mil_funct.h \
global.h \
FORMS += iproc.ui
SOURCES +=mil_funct.cpp \
global.cpp \
main.cpp \
LIBS = -LC:/devlibs \
-lmil
INCLUDEPATH += C:/devlibs
Der Compiler wirft folgenden Fehler aus:
undefined reference to `Funktion1'
undefined reference to `Funktion2'
...
und:
collect2: ld returned 1 exit status
(Was ja auf ein Linker-Problem hindeutet..)
Was fehlt hier noch?
Ich kompiliere mit MingW und QT Eclipse 3.4.1.
Danke Euch!!