rmqcpp is using deprecated VC++17 features
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- networking
Research direction
Reproduce the build in Visual Studio with a vcpkg manifest, C++17, and the HelloWorld producer example. Start with the diagnostics reported in bsl_memory.h and bsl_functional.h, then verify that the project builds without deprecation-warning suppression.
Written by the indexing model from the issue text.
Description
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:
- In Visual Studio, Create a new console application (MSBuild)
- Add vcpkg.json file to the project. Past the following: { "dependencies": ["rmqcpp"]}
- enable vcpkg manifest mode: right-click on project in solution explorer, in Configuration Properties > vcpkg set "Use Vcpkg Manifest" to Yes.
- Copy code from rmqcpp examples HelloWorld>producer.m.cpp to and replace the main function in the project.
- Set C++ Language Standard : Configuration Properties > General> C++ Language Standard: ISO C++ 17 Standard
- 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
Environment (please complete the following information):
- Operating System and Version: Windows 11
- Dominant language
- C++
- Stars
- 106
- Forks
- 32
- Avg merge
- 9h 6m
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bloomberg/rmqcpp
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
-
New version release Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
conan support Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
All issues in bloomberg/rmqcpp
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100