# dll mit eclipse gdk erstellen



## bertizwo (3. Mai 2007)

*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


----------



## limago (7. Mai 2007)

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






_____________________________


----------



## bertizwo (9. Mai 2007)

hallo limago,
danke fuer Dein script.
Ich probier es gleich mal aus.

Gruss @berti


----------

