dll mit eclipse gdk erstellen

bertizwo

Grünschnabel
dll mit eclipse cdt erstellen

hallo,
ich bräuchte ...
kurz und knackig (für Dummies)

eine kleine Anleitung, wie man eine dll erstellt.

Danke @berti
 
Zuletzt bearbeitet:
Hier ein kleines Gnu-Make

sollte unter CDT laufen, habe ich aus dem Buch "C++ Kochbuch" aus dem O#Reilley Verlag. Funktioniert bei mir einwandfrei. Achte auf das letzte Hpp. Hier müssen die Exports definiert werden:

CLEANEXT=o so bak

OUTPUTFILE=libgeorgeringo.dll
INSTALLDIR=../binaries
SOURCES=george.cpp ringo.cpp georgeringo.cpp

.PHONY: all
all: $(OUTPUTFILE)

$(OUTPUTFILE): $(subst .cpp,.o,$(SOURCES))
$(CXX) -shared -fPIC $(LDFLAGS) -o $@ $^

.PHONY: install
install:
mkdir -p $(INSTALLDIR)
cp -p $(OUTPUTFILE) $(INSTALLDIR)

.PHONY: clean
clean:
for file in $(CLEANEXT); do rm -f *.$$file; done

george.o: george.hpp
ringo.o: ringo.hpp
georgeringo.o: georgeringo.cpp
g++ -c -o $@ $^


------------------------------------------------------
Hier der SourceCode:

File Ringo.cpp

#include <iostream>
#include "ringo.hpp"

void ringo(){
std::cout << " und Ringo.\n" ;
}
_______________ Ringo.hpp

#ifndef _RINGO_HPP_
#define _RINGO_HPP_

void ringo();

#endif

______________________ George.cpp

#include <iostream>
#include "george.hpp"

void george(){
std::cout << "George " ;
}

________________________ george.hpp

#ifndef _GEORGE_HPP_
#define _GEORGE_HPP_

void george();

#endif

__________________ georgeringo.cpp

#include <iostream>
#include "george.hpp"
#include "ringo.hpp"

void georgeringo(){
george();
ringo();
}

________________ georgeringo.hpp
#ifndef _GEORGERINGO_HPP_
#define _GEORGERINGO_HPP_


#if defined(_WIN32) && ! defined(__GNUC__)
#ifdef GEORGERINGO_DLL
#define GEORGERINGO_DECL __declspec(dllexport)
#else
#define GEORGERINGO_DECL __declspec(dllimport)
#endif
#endif
#ifndef GEORGERINGO_DECL
#define GEORGERINGO_DECL
#endif

#ifdef _MWERKS_
#pragma export on
#endif

GEORGERINGO_DECL void georgeringo();

#ifdef _MWERKS_
#pragma export off
#endif

#endif






_____________________________
 
Zurück