@hustbaer sagte in Visual Studio 2019 erzeugt 0 Byte große SBR Datei:
Ich könnte mir vorstellen dass die Dateien für irgendwelche "up to date" Checks gebraucht werden -- es aber OK ist wenn sie leer sind.
Danke für die Info.
Ich habe diese Option nun deaktiviert, da ich die SBR Dateien nicht brauche und die IDE auch nicht.
Building Browse Information Files: Overview
Ich habe auch gesehen dass diese Option bei älteren Projekten, welche vermutlich unter Visual Studio 6 erstellt wurden, aktiv war, während bei neueren Projekten die Optionen ausgeschaltet war.
PS:
Für alle Leute denen die SBR Dateien nicht brauchen und generieren möchten.
Projekteinstellungen -> Konfigurationseingenschaften -> C/C++ -> Informationen durchsuchen -> Durchsuchen der Informationen aktivieren auf Nein setzen.
Jo
https://docs.microsoft.com/en-us/visualstudio/extensibility/walkthrough-creating-a-custom-editor?view=vs-2019
The VSPackage project template can create a simple custom editor in C++. The VSPackage project template no longer supports C# or Visual Basic projects
@gudi sagte in CIN geht nicht... :
aber richtig versteh ich noch nicht viel von diesen Abkürzungen und ihren Bedeutungen
Der gcc (oder g++) hat eine Dokumentation, in der dies alles steht.
Hallo Leute,
ich brauche dringend eure Hilfe. Ich habe ein MFC Projekt, welches mehrere kleine Projektmappen enthält.
In einer von denen habe ich eine Änderung in Quelltext gemacht und diese Projektmappe auch übersetzt.
Beim Debuggen allerdings kann ich durch die neuen Zeilen steppen, aber er macht nicht was dort steht.
Wenn ich eine Variable auswerten will sagt er nur:: Symbol nicht gefunden!
Ich habe alles miteinander verglichen. alles Projektmappen sind gleich und es werden auch auf die richtigen Symboldateien verwiesen. Weiss jemand Rat?????
Mfg Torsten
@LisaMueller sagte in ClangFormat, ClangTidy basierend auf Google C++ Style Guide:
wob vielen Dank für deine Antwort.
Was meinst du mit, dass sie die Regel nur wegen Problemen im alten Code haben?
Das steht doch in dem von dir verlinkten Dokument unter "Decision".
Zitat:
On their face, the benefits of using exceptions outweigh the costs, especially in new projects. (...) Because most existing C++ code at Google is not prepared to deal with exceptions, it is comparatively difficult to adopt new code that generates exceptions.
Die sagen, dass sie viel Code haben, der nicht mit Exceptions klarkommt und es deswegen für Google schwierig ist, den existierenden Code mit Code mit Exceptions zu verheiraten.
Kann die Regel "Exceptions" überhaupt von einem Tool geprüft werden. Von cpplint wird sie nämlich auch nicht geprüft.
Du könntest die ein Plugin für clang-tidy schreiben. Es gibt ja schon Plugins wie hicpp-exception-baseclass, welches checkt, ob alle Exceptions auch eine std::exception (oder davon abgeleitete Klasse) werfen und warnt, wenn du was anderes wie z.B. einen int oder einen std::string wirfst. Sollte nicht schwierig sein, das so anzupassen, dass du bei allen Exceptions eine Warnung bekommst. (wenn du das denn wirklich willst).
Kannst du einen Screenshot machen wo du den Fehler siehst? Man kann hier keine Screenshots hochladen, aber du kannst jede beliebige Image-Hosting Seite verlinken.
@zeropage sagte in Visual Studio 19 zeigt keine Warnungen:
Bevor ich jetzt weiter hilflos suche, mit welcher Option kann ich das Error List Window als Standard haben?
Es gibt unter "Options -> Projects and Solutions -> General" eine Option die die Error List bei fehlgeschlagenen Builds anzeigt. Die greift aber nicht bei Warnings. Wenn du Warnings mitbekommen willst, ist die sicherste Methode "treat all warnings as errors" in den Compileroptionen zu setzen.
Ich habe nun den Umstieg auf eine SSD vollzogen und kann berichten, dass der Umgang mit allen JetBrains-IDEs deutlich angenehmer geworden ist (auf beiden Betriebssystemen).
Der Bootvorgang dauert keine halbe Minute (vorher teils mehr als 5min!).
Ich habe bei Liebhabereiprojekten auf Basis von C++17 beim Kompilieren weniger Änderungen feststellen können, wobei ich denke, dass der Spielkram weniger komplex ist, als das bei @Mechanics hinterliegende Projekt der jüngsten Nachricht.
Falls Interesse besteht, kann ich genaue Vergleichswerte anfertigen. Ansonsten kann ich jedem Suchmaschinenbesucher hier sagen, dass vor der Verwendung von JetBrains-IDEs eine SSD angeschafft werden sollte.
Hallo zusammen.
Ich hoffe ich bin im richtigen Unterforum. Ich habe ein c++ nugetpakage das zwei libs beinhaltet. Ein debug und eine release Version.
Diese liegen in jeweils in einem Unterordner mit entsprechendem Namen
Relase -> My-static.lib
Debug -> My-static.lib.
Das targetfile das ebenfalls im nuget Paket enthalten ist setzt die Abhängigkeit im Linker im konsumierenden Projekt:
<Link>
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)..\lib\native\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>My-static.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
Wie ihr seht wird die benötigte Version anhand der Configuration im konsumierenden Projekt gesetzt -> $(Configuration)
Sprich habe ich die Configuration "Release" wird die lib aus dem Ordner Release im Nuget Paket referenziert.
Und ebenso bei Debug.
Allerdings musste nun eines der konsumierenden Projekte erweitert werden um zwei zusätzliche Configurationen.
Aufgrund von zusätzlichen Compiler Direktriven. Was ich hier schon mal gefragt habe.
https://www.c-plusplus.net/forum/topic/351607/visual-studio-2019-compiler-directrive
Nun habe ich also jeweils eine weitere Configurationen
Release
Debug
Release_v1
Debug_v1
Compiliere ich nun die Configuration Release_v1. Erhalte ich vom linker die Fehlermeldung dass die My-static.lib nicht gefunden wurde. Was logisch ist weil es keinen Ordner Release_v1 im Nuget Paket gibt.
Hat mir jemand eine Idee wie man das nuget Packet umbauen muss, dass nicht der Configuratiosname entscheidet welche lib referenziert werden soll im linker sondern ein Flag in der Configuration. z.B. _DEBUG und _NDEBUG.
https://docs.microsoft.com/en-us/visualstudio/ide/how-to-build-multiple-configurations-simultaneously?view=vs-2019
Vielleicht hilft dir das hier weiter.
Für dich wahrscheinlich zu umständlich, aber ich hätte CMake benutzt und dann ein script erstellt was alles durchbaut.
nVidia bietet nun das komplette PGI Compiler Paket und noch vieles mehr als Download für Linux x86_64, ppc64le und aarch64 an.
Nachtrag:
Die ARM Version läuft auch auf einem Raspberry Pi 3 mit Ubuntu 64Bit.
@Mechanics Ja, wir haben auch unsere Freude mit MSVC. Ich finde zwar die schnellen Feature-Updates toll, aber was ich gar nicht toll finde ist dass es keinen "stable branch" mehr gibt. Bugfixes kommen jetzt mit dem nächsten Update, mit dem auch neue Features kommen und dadurch neue Bugs. Hmpf.
Dann sage ich jetzt danke an alle. Von meiner Seite her ist meine Frage jetzt soweit beantwortet.
Und dank an @Th69, dafür, daß du die Funktionsweise etwas ausführlicher aufgeschlüsselt hast, jetzt verstehe ich das Zusammenspiel der einzelnen Komponenten (und was am ende als 0&1 übrigbleibt) schon deutlich besser - und für meine Zwecke erstmal ausreichend genug.
Abgesehen davon würde ich C::B zumindest auf linux vermeiden. (ich nutze C::B auf Windows noch als Haupt IDE)
Vielleicht liegt es an meinem Arch System, aber C::B war eklig verbuggt da.
Ja ich muss sagen, dass man seine IDE beherrschen sollte wenn man etwas entwickeln möchte.
Super vielen dank!!! hat sofort funktioniert...
jetzt schau ich mal weiter ob der Rest auch funktioniert
Das ganze lässt sich auf deutlich weniger reduzieren.
Aber die Datei lässt sich abkürzen auf:
Setze C++17 als Standard, falls nicht in Commandline
Setze auf Release Build, falls nicht gesetzt
Deklarier ein Projekt
Zum Projekt gehört eine executable aus folgenden Dateien: [...]
Setze Compileroptionen für debug und release modus
Hier ist eine "Liste"/Tutorial der wichtigsten Funktionen:
(linken, sourcen hinzufügen, compiler optionen)
https://cmake.org/cmake/help/latest/guide/tutorial/index.html
Ich würde aber erstmal klein anfangen und dann schaun was du brauchst und das googlen. Das meiste kann man sich auch auf Stackoverflow erstmal zusammenpuzzeln.
Bei Verzweiflung gibts ja noch das Forum und die CMake Webseite.
Außerdem kannst du den Rat "nicht dateien mit GLOB hinzufügen" erstmal ignorieren. Das ist hauptsächlich relevant wenn man CMake nicht immer wieder ausführt und sich auf die inkrementellen Builds von make verlässt.
Das säh dann so aus:
# Sucht alle Dateien mit Endung .cpp rekursiv im Projektverzeichnis zusammen und fügt sie zu sources.
file(GLOB_RECURSE sources "*.cpp")
# Add executable
add_executable(${PROJECT_NAME} ${sources})