Kurzes Update:
Nachdem ich mehrere Tage vergeblich mit dem Microsoft Support versucht habe das Problem zu beheben, blieb mir nur eine Neuinstallation von Windows übrig. Jetzt funktioniert es wieder. Hoffentlich für länger.
Also ich habe es nun auch geschafft die statischen libraries hinzuzufuegen. Vielen Dank nochmal fuer deine Hilfe. Mittlerweile verstehe ich langsam wie CMake arbeitet. Folgender Loesungsansatz:
1. Die glew library muss als erstes gelinkt werden, auch vor openGL
target_link_libraries(Hatsudouki_core ${GLEW_LIBRARY} ${OPENGL_gl_LIBRARY} ${GLFW_LIBRARY})
2. Findglew32s.cmake sollte auf die pre-compiled glew32s.lib verweisen:
# GLEW_FOUND
# GLEW_INCLUDE_DIR
# GLEW_LIBRARY
set(FIND_GLEW_PATHS F:\\C++\\ExternalLibraries\\GLEW)
set(FIND_GLEW_LIB_PATHS F:\\C++\\ExternalLibraries\\GLEW\\lib\\Release)
find_path(GLEW_INCLUDE_DIR NAMES GL/glew GL/glew.h PATH_SUFFIXES include PATHS ${FIND_GLEW_PATHS})
find_library(GLEW_LIBRARY NAMES glew32s glew32s.lib PATH_SUFFIXES Win32 PATHS ${FIND_GLEW_LIB_PATHS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_LIBRARY GLEW_INCLUDE_DIR)
mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY)
3. Den Verweis auch in die CMakeLists.txt eintragen:
#Define static GLEW libraries and header files
find_package(glew32s REQUIRED)
include_directories(${GLEW_INCLUDE_DIR})
...
target_link_libraries(Hatsudouki_core ${GLEW_LIBRARY})
4. Dem precompiler den Hinwei geben, dass die glew32s library statisch ist, auch in der CMakeLists.txt:
#define glew as linked to a static library
add_definitions(-DGLEW_STATIC=Debug)
Am besten vor dem linken der library
Und in CLion unter Tools -> CMake -> Reset Cache and Reload Project, danach alles neu laden lassen, weil CMake manchmal mit dem alten Cache rumspinnt.
Wieso meine selbst compiled .a libraries nicht auf die selber Art und Weise funktionieren weiss ich leider nicht. Anscheinend wollen die auch wieder die .dll, aber gut, so funktioniert es.
Hallo zusammen,
in dem C++ Code-Editor von Visual Studio 2017 kann man, wenn man die Header-Datei seiner Klassen schreibt, mit einem Rechtsklick auf eine neue Funktion gleich automatisch die passende Definition in die Cpp-Datei schreiben lassen.
Das finde ich praktisch, aber VS blendet dann mitten im Header den Ausschnitt der Cpp-Datei ein (im Screenshot habe ich es rot markiert). Das wiederum stört mich.
Kann man diese automatische Einblendung abschalten und wenn ja wie?
Vielen Dank für alle Antworten.
Screenshot:
http://www.bilder-upload.eu/show.php?file=d7254c-1523190188.png
Hi,
ich glaub, das geht nicht. Dev C++ ist jetzt auch nicht die IDE, mit der man wirklich etwas entwickelt. Das ist eher eine IDE, in der man kurz 10-zeilige Porgramme reinkopiert und testet, weil Visual Studio mal wieder Jahre braucht, bis es auf ist. Außerdem wird Dev C++ seit 2015 nicht mehr weiterentwickelt.
Vor allem würde ich dir gleich mal raten, den Umgang mit einem Debugger zu lernen. Da führt unter Windows halt kaum ein Weg an Visual Studio vorbei: https://www.visualstudio.com/de/vs/community/
Wenn dir Visual Studio gar nicht zusagt, kannst du dir auch CodeLite, Code::Blocks, KDevelop oder Qt Creator anschauen.
An C++Builder habe ich auch gedacht (früher war TASM mein Lieblingsassembler), aber 1100 Euro sind mir etwas zu viel und als Raubkopie kann man es auch nirgends herunterladen (genauer gesagt doch, aber nur die Borland C++ Builder 6 Enterprise, und die ist von 2002)
Dokumentationen sind auch keine im Netz und es fragt sich dann, ob es überhaupt wert ist, sich da hineinzulesen/hineinzuarbeiten. Entweder muss man schließlich diese 1100 Euronen bezahlen oder man hat viel Zeit verloren.
Eigene Grids zu proggen ist auch so ne Sache, ob mein Code dann am Ende schneller wird ... ich bin leider nicht mehr so jung und idealistisch
Momentan mache ist alles über wxWidgets mit TextCtrl's ... Multiline wxTextCtrl's und viele andere wxTextCtrl's für Markierungen-Eingeben usw. Alles voll unbequem und kacke-langsam.
In Zukunft steige ich höchstwahrscheinlich auf Linux-GTK um. Wahrscheinlich mit Glade Interface gestalten und dann selbst im C-Code nachschreiben.
Angeblich gibt es GtkExtra und darin gibt's GtkSheet. Mal sehen, ob es was ist.
PS: Ich habe mal wo gelesen, dass die wxWidgets nicht schnell sind, weil sie angeblich RAM sparen. Wenn man was z. B. in TextCtrl schreiben möchte muss erstmals Platz im RAM hierfür angefordert werden. Den Platz soll Windows zur Verfügung stellen und das dauert (bei einem Mal sind es vielleicht 200 ms und nicht spürbar, bei ca. 10 Mio. Mal nervt es voll). Windows muss ja RAM auch noch parallel defragmentieren.
Man empfiehlt zuerst den wxString mit Alloc() vorbereiten, füllen und erst dann im ganzen in wxTextCtrl laden. Was auch, meiner Erfahrung nach, wirklich schneller ist. Allerdings kann man dann keine Farben mehr machen. Voll Kacke halt
Wieso installierst du jetzt Visual Studio?
Du brauchst nur das Visual C++ Redistributable Packages for Visual Studio 2013 zu installieren.
In deinem Projekt bindest du dann einfach nur die ".lib"-Datei des MQTT-Client hinzu (zur Laufzeit wird dann auch die passende DLL benötigt - diese sind ja in dem für Windows erzeugtem Build "eclipse-paho-mqtt-c-windows-1.2.0.zip" im Unterordner "lib" drin).
PS: Welche der 4 DLLs im Ordner "lib" du benötigst, mußt du mal ausprobieren - die Namen "a/as/c/cs" sagen mir nichts.
Meine frage war falsch gestellt von mir.
Also ich meinte das so, ob es möglich ist WindowsForms zu erstellen ohne auf ein anderes Programm zu wechseln wie Qt.
Sprich das ich den Kompletten Workflow der C++ programmierung und der erstellung der GUI in VS-2017 machen kann.
Vielen Dank wob,
ich habe es mir mal angeschaut. Ist leider nicht so ganz das was ich suche. Problem ist eben, dass ich keine Unit tests für Linux erstellen kann, so dass diese auch auf dem Target ausgeführt werden. Oder habe ich das übersehen? Im Netz habe ich leider auch keine Informationen dazu gefunden.
lg Torsten
Ich würde für kleine Aufgaben geany empfehlen und für größere eclipse-cdt.
Und, bevor ich andauernd rot unterschlängelte Zeilen habe ...
Wenn ich das habe, weiß ich, ich habe in den Projekteigenschaften entweder -std=c++14 vergessen oder irgendeinen Include-Pfad unterschlagen. Nachtragen, rebuild index und gut is.
Vielen lieben Dank!!!
ich hatte den Inhalt der File zum 'Fehlersuchen' nur in eine andere File kopiert (ursprünglich ein tatsächliches Versionsproblem) und tatsächlich die Main vergessen...
jetzt verstehe ich dann auch den (zumindest zweiten) Fehlercode.
Hi zusammen
ich nutze aktuell Codeblocks 16.01 mit dem mitgelieferten MinGw32bit-Compiler und dem entsprechenden Debugger.
Ich habe ein Sourcefile, wo der Debugger ( Breakpoints, Zeile für Zeile ) extrem langsam ist. Ich rede von teilweise bis zu 5sek Wartezeit wenn ich zeilenweise durchlaufe. Dabei tut die Funktion nichts was so lange dauert. Es schleift auch wenn ich z.b. an einer if-Bedingung stehe wo nur ein Ausdruck ausgewertet wird und ich dann weiterspringen will.
Dies betrifft aber nur eine bestimmte Funktion in dieser Datei.
In einer anderen Funktion in derselben Datei läuft der Debugger fluffig, so wie es sein soll.
Der Debugger wird ohne zusätzliche Argumente gestartet.
Der mitgelieferte Compiler ist ein
=== TDM-GCC Compiler Suite for Windows ===
--- GCC 4.9 Series ---
*** Standard MinGW 32-bit Edition ***
Hab ich da einfach Pech gehabt, oder gibt es vielleicht für die GDB.EXE auch Argumente die solche Tretminen verhindern können?
gruß Tobi
ein Projekt über die MS Oberfläche zu managen, geht prinzipiell auch, ist aber nicht schoen.
Gemeinsamme Variablen lassen sich über EigenschaftsSeiten (PropertyPages) verwalten.
Viel Besser:
Lern mit einem BuildGenerator umzugehen (cmake, qmake, jam ... ) und beschreibe dein Projekt mittels einer scriptsprache. Ist wesentlich mächtiger und liegt uns Programmierern eh mehr als sich in ner IDE dumm dusselig zu klicken
Ich nutze aktuell VSC zwangsläufig. Zufrieden war ich schon beim release nicht und bin es auch jetzt nicht. Aber immer noch besser als notepad++ oder ähnlichen Mist.
Mehr als Websachen wie HTML, PHP etc würde ich damit aber nicht machen. Es war wohl von MS gut gemeint, ist aber wenig gekonnt.
Also wen es interessiert.
Ihr müsst eine ".gitlab-ci.yml" Datei im Root Verzeichnis des Repositories ablegen und mit dieser dann z.B. ein Shell Script aufrufen. Siehe z. B. hier:
https://gitlab.ecole.ensicaen.fr/candelot/PlanetWars2dRT-core/raw/8a1d5283015c7300b4b534c8b2eceec0cb601991/tools/git-pre-commit-cppcheck
Das Script wird auch ausgeführt. Hier Beispielsweise mit einem Aufruf von cppcheck.
Allerdings findet cppcheck jetzt keine der in der Variablen "changed_files" aufgelisteten Dateien:
<code>cppcheck error could not find or open any of the paths given</code>
Gebe ich ein Pfad mit -I an erwartet "cppcheck" allerdings scheinbar nur noch eine einzige Datei als Input und die Auflistung funktioniert nicht mehr. Mit einer einzigen Datei geht es dann wieder. Jemand eine Idee wie man das cppcheck jetzt noch an laufen bekommt?