Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cpprest_compat breaks cURL header when building with Clang 14 #1710

Open
lilianmoraru opened this issue Jun 27, 2022 · 3 comments · May be fixed by #1723
Open

cpprest_compat breaks cURL header when building with Clang 14 #1710

lilianmoraru opened this issue Jun 27, 2022 · 3 comments · May be fixed by #1723

Comments

@lilianmoraru
Copy link

#define dllimport inside cpprest_compat.h breaks curl.h on Clang 14.

See minimized example here: godbolt

The issue was initially reported to LLVM.
The LLVM issue was closed. For the reason, see these comments: comment1 and comment2.

@barcharcraz
Copy link
Member

Yeah I can see why they closed that one. This header is pretty horrible.

@laveur
Copy link

laveur commented Nov 8, 2022

FYI this project is now dead. You should move away from cpprest ASAP. See the readme file.

@barcharcraz
Copy link
Member

Indeed, we will fix any super critical bugs, but we highly, highly, highly recommend folks move to another library. We usually recommend libcurl.

russelltg added a commit to russelltg/vcpkg that referenced this issue May 9, 2024
definint dllimport is *bad* and breaks clang, and since this is in maintaince mode they aren't going to fix it.  Refs:

microsoft/cpprestsdk#1710
llvm/llvm-project#53269
vicroms pushed a commit to microsoft/vcpkg that referenced this issue May 23, 2024
- **[cpprestsdk] fix clang build on new zlib**
- **./vcpkg x-add-version --all**


Defining `dllimport` is *bad* and breaks clang, and since this is in
maintaince mode they aren't going to fix it.

This had the ability to blow up projects before, but newer zlib versions
use `__has_declspec_attribute`, so that makes it impossible to even
_build_ cpprestsdk on systems like these (I'm on Fedora 40).

Refs:

microsoft/cpprestsdk#1710
llvm/llvm-project#53269

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants