Irgendwie denke ich, hab ich nicht ganz verstanden was du vorhast?
Soll das Programm auf Konsole laufen oder unter Windows?
Also prinzipiell sind C++ Dll unter MinGW möglich siehe:
http://www.c-plusplus.net/forum/214232
MfG f.-th.
meisterbanane schrieb:
...Hier mal zum Code der, aufgrund seines schlichten Aufbaues, einfach nicht falsch sein KANN...
#include <iostream>
int main()
{
cout "Hallo" << endl;
cin.get();
};
Hoffe das mir ein kluger Kopf helfen kann :p
banane
falsch, banane...LOL...stream out << fehlt...aber das KANN ja nicht sein...
XHelp schrieb:
Cool... ein "wünsch dir was"-Thread
Ich möchte den drüberstehenden Post verstehen können
Wenn man ein Formular erstellt hat und in der Ansicht Entwurf ist, kann man ja von der Palette Objekte auf das Formular platzieren und bearbeiten. Nur kenne ich das so, dass während der Bearbeitung eines Objekts irgendwo live, X,Y,Höhe und Breite angezeigt wird. X und Y vom Formular aus natürlich und Höhe und Breite des Objekts selbst.
Danke.
1qayWIN schrieb:
ich wollte mir gerne einige Header und zugehörige Code-Dateien der C/C++ standard Bibiliothek angucken...
Zum ersten solltest du dir auch überlegen ob du nun den C oder den C++ Standard meinst.
Im C++ Standard gibt es wie von Martin Richter schon erwähnt keine Endung für die Standardbibliothek, zudem ist den "C Kompatibilitätsheadern" ein "c" vorgestellt (z.B. <cmath>). Und dies ist schon seit Verabschiedung des C++ Standards im Jahre 1998 so. Bücher, Skripte etc. die etwas wie "iostream.h" aufführen sind sehr veraltet (oder deren Schreiber sehr resistent bezogen auf die Weiterentwicklung einer Sprache).
Wobei dir der Header vielleicht weniger bringt als du erwartest, da er meist recht kryptisch erscheint
Hallo,
dazu noch eine Frage (so rein um es zu verstehen).
Ich nutze derzeit oftmals wxWidgets. Und meist auch ImageMagick.
Beides gibt es ja für C++.
Wenn ich beides als LIB in mein Projekt hole, bekomme ich vom Linker viele viele Fehler über doppelten Code.
Beide sagen, ich solle als DLL einbinden. Also schnell beides als DLL durch den Compiler durchgelassen und eingebunden: geht! Kein doppelter Code.
Die nutzen aber jetzt kein Interface. Ich habe Header-Dateien zu DLL und kann somit direkt linken. Ich vermute jetzt, dass liegt daran, weil ich die DLL und Exe in einem Zug mit dem gleichen Compiler gebaut habe. Ich muss allerdings jetzt auch die DLL-Dateien mit ausliefern. Und wenn sich an der DLL was ändert (z.B. neue Version oder Updates) muss ich die Exe auch neu schreiben.
Wenn ich euch richtig verstanden habe, ist das jetzt aber nicht gerade eine gute Lösung. Bzw nur so lange eine akzeptable Lösung, solang wxWidgets nicht mit ImageMagick versucht zu komunizieren. (Was sicherlich nicht passiert, weil die zwei ja so nix miteinander zu tun haben).
Sinnvoller wäre es, beide als Lib einzubinden und nur den gemeinsamen Code in eine DLL zu exportieren, welches über ein Interface angesprochen wird.
(Was sich sicherlich nicht machen lässt ohne wxWidgets und ImageMagick selbst in die Hand zu nehmen und darin rumzubasteln.)
Wenn ich das jetzt richtig verstanden habe, dann bin ich auch schon friedlich, schließe den Post als "gelöst" und werde meine Programmierer-Struktur-DLL-Lib-Interface-Gedanken für meine eigenen SDKs neu überdenken.
Vielen Dank,
Stefan
er sagt er kennt das command g++ nicht habs derweilen mit xcode gelöst aber naja im terminal wäre mir das lieber gewesen als das aber ok vielleicht bekomm ich das im terminal auch mal hin! es geht nur drum das ich meine Uebungen auch unterwegs machen kann
Oberon_0 schrieb:
Da steht g++ (= der C++ Compiler der gcc). Der kann *garantiert* C++0x.
Doch. Die aktuelleren Versionen decken TR1 und manches darüber hinaus wohl schon recht gut ab.
Keine Ahnung Ich hatte einfach das gleiche Problem und hab danach gegooglet. Ich glaube in der config.hpp (boost\thread\detail\config.hpp) steht dazu irgendwas drin...
314159265358979 schrieb:
Nein, ich verwende den GCC 4.6, wie im Threadtitel erwähnt.
Und den hast Du offensichtlich nicht sauber installiert. Weswegen wir Dich schon einige Male auf Macports und Konsorten verwiesen haben…
Hallo Leute,
Ich habr gestern auf XCode 4 geupdated. Leider lässt sich der SDL nicht so initialisieren, wie unter XCode 3.2 . Hat irgendwer Ideen, wie man das nun machen muss?
Vielen Dank!
Ja, so funktioniert es auch, hatte ich ja schon geschrieben. Aber boost benutzt beim MSVC spezielle #pragma Befehle um die Bibliotheken automatisch zu linken, und dem Benutzer/Programmierer den Aufwand des manuellen Eintragens der Dateien zu ersparen. Damit das funktioniert muss die entsprechende Bibliotheksdatei aber im Suchpfad liegen.
Ich suche also das qmake Äquivalent zu den "Library Directories" bei Visual C++, bzw. zu /LIBPATH: beim dazugehörigen Linker. Eigentlich brauche ich eine nur Möglichkeit diese Optionen durch qmake durchzureichen.
Hi, hi, es baut immer noch, hatte es zuletzt vor drei Jahren gebaut
Das ist die Version von gcc, die ich verwende:
> mingw32-gcc --version
mingw32-gcc (GCC) 3.4.5 (mingw-vista special r3) ...
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Florian>set
3DSMAX_2011_PATH=P:\Programme\Autodesk\3ds Max 2011\
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Florian\AppData\Roaming
asl.log=Destination=file;OnFirstLog=command,environment
ATISTREAMSDKROOT=C:\Program Files\ATI Stream\
CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=FLORIANDESKTOP
ComSpec=C:\Windows\system32\cmd.exe
DXSDK_DIR=P:\Programme\Microsoft DirectX SDK (June 2010)\
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Florian
LOCALAPPDATA=C:\Users\Florian\AppData\Local
LOGONSERVER=\\FLORIANDESKTOP
LUA_DEV=P:\Programme\Lua\5.1
LUA_PATH=;;P:\Programme\Lua\5.1\lua\?.luac
NUMBER_OF_PROCESSORS=4
OGRE_HOME=C:\OgreSDK\
OS=Windows_NT
Path=C:\Program Files\ATI Stream\bin\x86;%CommonProgramFiles%\Microsoft Shared\W
indows Live;P:\Programme\MiKTeX 2.8 Complete\miktex\bin;P:\Programme\MiKTeX 2.8\
miktex\bin;"C:\Program Files\Microsoft DirectX SDK (August 2006)\Utilities\Bin\x
86";C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Wind
ows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;P:\Prog
ramme\Java\jdk1.6.0_18\bin;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
;P:\Programme\SQLite3;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\P
rogram Files\Microsoft SQL Server\100\DTS\Binn\;P:\Programme\Lua\5.1;P:\Programm
e\Lua\5.1\clibs;C:\Program Files\CMake 2.8\bin;P:\Programme\Autodesk\Backburner\
;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\QuickTime\QTSys
tem\;C:\MinGW\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.wlua;.lexe
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 16 Model 4 Stepping 2, AuthenticAMD
PROCESSOR_LEVEL=16
PROCESSOR_REVISION=0402
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=PPPG
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
QTJAVA=C:\Program Files\Java\jre6\lib\ext\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Florian\AppData\Local\Temp
TMP=C:\Users\Florian\AppData\Local\Temp
USERDOMAIN=FlorianDesktop
USERNAME=Florian
USERPROFILE=C:\Users\Florian
VBOX_INSTALL_PATH=P:\Programme\Oracle\VirtualBox\
VS100COMNTOOLS=P:\Programme\Microsoft Visual Studio 10.0\Common7\Tools\
windir=C:\Windows
C:\Users\Florian>exit
Einmal der komplette Output einer frischen Konsole mit set
**edit:
Update:
Habe gerade in der PATH-Variablen die Anführungszeichen um einen der Einträge entfernt und siehe da, das Erstellen der libs hat funktioniert. Manchmal braucht es bloß einen Denkanstoß.
Nun habe ich zwar ein anderes Problem, aber das hat nichts direkt mit dem Erstellen der boost-libs zu tun
Ich kann schon gelesen was du geschrieben hast...
Was genau für Fehler bekommst du, was für Symbole sind das die er nicht finden kann?
In eine lib reinschaun kannst du mit dumpbin.exe.