bloomberg / bloomberg/rmqcpp

rmqcpp is using deprecated VC++17 features

Offen
#53 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
106
Forks
32
Ø Merge
9 Std. 4 Min.
Gemergte PRs (30 T.)
6

Beschreibung

**Describe the bug**
Building a project that references rmqcpp gives errors related to deprecated features. I have to suppress the warnings to make it build successfully.

Error C4996 'std::raw_storage_iterator': warning STL4011: std::raw_storage_iterator is deprecated in C++17. Consider using the std::uninitialized_copy() family of algorithms instead. You can define _SILENCE_CXX17_RAW_STORAGE_ITERATOR_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to suppress this warning. rabbitMQStream_rmqcpp D:\source\repos\rabbitMQ_cppExample\rabbitMQStream_rmqcpp\vcpkg_installed\x64-windows\x64-windows\include\bsl_memory.h 106

Error C4996 'std::binary_negate': warning STL4008: std::not1(), std::not2(), std::unary_negate, and std::binary_negate are deprecated in C++17. They are superseded by std::not_fn(). You can define _SILENCE_CXX17_NEGATORS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to suppress this warning. rabbitMQStream_rmqcpp D:\source\repos\rabbitMQ_cppExample\rabbitMQStream_rmqcpp\vcpkg_installed\x64-windows\x64-windows\include\bsl_functional.h 68

**To Reproduce**
Steps to reproduce the behavior:
1. In Visual Studio, Create a new console application (MSBuild)
2. Add vcpkg.json file to the project. Past the following: { "dependencies": ["rmqcpp"]}
3. enable vcpkg manifest mode: right-click on project in solution explorer, in Configuration Properties > vcpkg set "Use Vcpkg Manifest" to Yes.
4. Copy code from rmqcpp examples HelloWorld>producer.m.cpp to and replace the main function in the project.
5. Set C++ Language Standard : Configuration Properties > General> C++ Language Standard: ISO C++ 17 Standard
6. Compile Project.

**Expected behavior**
Error C4996 'std::raw_storage_iterator': warning STL4011: std::raw_storage_iterator is deprecated in C++17
Error C4996 'std::binary_negate': warning STL4008: std::not1(), std::not2(), std::unary_negate, and std::binary_negate are deprecated in C++17. They are superseded by std::not_fn().

**Screenshots**
![image](https://github.com/user-attachments/assets/65556dd3-79bf-4f1a-a2fa-cb3bfdb20dfb)

**Environment (please complete the following information):**
- Operating System and Version: Windows 11

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Den Build in Visual Studio mit einem vcpkg-Manifest, C++17 und dem HelloWorld producer example reproduzieren. Beginne mit den in bsl_memory.h und bsl_functional.h gemeldeten Diagnosen und überprüfe anschließend, dass das Projekt ohne die Unterdrückung von Deprecation-Warnungen gebaut wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.