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

[MSVC][/std:c++latest][module] error C2065: 'oops_detail_namespace_is_visible': undeclared identifier #2557

Closed
QuellaZhang opened this issue Oct 21, 2021 · 3 comments

Comments

@QuellaZhang
Copy link

Hi All,

I found the follow error when I build the latest source code of Fmt on MSVC with /std:c++latest and module enable, can you help confirm? I used VS2019 16.11.5.

Build steps:

  1. git clone https://github.com/fmtlib/fmt.git fmt
  2. cd fmt
  3. enable module test on https://github.com/fmtlib/fmt/blob/master/CMakeLists.txt#L89
  4. mkdir build && cd build
  5. cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -A x64 -DCMAKE_CXX_STANDARD=20 ..
  6. cmake --build . --config Release --verbose -- /maxcpucount

Build log: fmt_build.log

Error info:
F:\build\fmt\test\module-test.cc(87,11): error C2065: 'oops_detail_namespace_is_visible': undeclared identifier.

@vitaut
Copy link
Contributor

vitaut commented Oct 21, 2021

I don't think modules work in MSVC 2019 (or at least some versions of it). cc @DanielaE

@DanielaE
Copy link
Contributor

Modules work since msvc 16.10 with increasing conformance to the C++20 specification. None of the deviations are functionally relevant in client code, but they are tested for.

@vitaut
Copy link
Contributor

vitaut commented Oct 23, 2021

I'm always confused by their versioning =D

@vitaut vitaut closed this as completed Oct 24, 2021
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

No branches or pull requests

3 participants