Open
Description
When using the conan recipe for czmq 4.2.1, you get a build error on windows. Note, if you set the compiler.cppstd=17, this still works, so a workaround exists.
Steps to reproduce:
- Windows 11 machine with latest visual studio 2022
- install conan2 (pip install conan)
- Run the conan install command from a visual studio 2022 x64 native shell
conan install --build=missing --requires="czmq/4.2.1" -s compiler.runtime=dynamic -s compiler.cppstd=20 --build="czmq/4.2.1" --profile default
It will error out because a string literal loses a const qualifier. It can be corrected by fixing the core or setting a compiler flag to ignore it.
Example errors:
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zactor.c(341,23): error C2664: 'zactor_t *zactor_new(zactor_fn (__cdecl *),void *)': cannot convert argument 2 from 'const char [13]' to 'void *' [C:\Users\atif1\.cona
n2\p\b\czmq5d1f91a180583\b\build\czmq-static.vcxproj]
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zactor.c(341,47):
Conversion loses qualifiers
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zactor.c(109,1):
see declaration of 'zactor_new'
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zactor.c(341,23):
while trying to match the argument list '(overloaded-function, const char [13])'
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,5): error C2440: 'initializing': cannot convert from 'const char [7]' to 'char *' [C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\build\czmq-static.vcxpro
j]
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,5):
Conversion from string literal loses const qualifier (see /Zc:strictStrings)
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,15): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *' [C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\build\czmq-static.vcxp
roj]
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,15):
Conversion from string literal loses const qualifier (see /Zc:strictStrings)
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,28): error C2440: 'initializing': cannot convert from 'const char [7]' to 'char *' [C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\build\czmq-static.vcxpr
oj]
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,28):
Conversion from string literal loses const qualifier (see /Zc:strictStrings)
C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\src\src\zarmour.c(61,38): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *' [C:\Users\atif1\.conan2\p\b\czmq5d1f91a180583\b\build\czmq-static.vcxp
roj]
Metadata
Metadata
Assignees
Labels
No labels