-
Notifications
You must be signed in to change notification settings - Fork 23
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
x64-debug has link error, x64-Release build success #143
Comments
Thanks for using the library and creating an issue report! |
@huiseliming here is what you can add right after the
|
Thanks for the response, @Core-Process It's not easy for me to test using this library on Windows using the package manager. Do you think it's sufficient to add this as a comment in the README file, or can I add that somewhere in the install set up? |
@Core-Process |
I'm sorry to jump into this thread but I think think this is not an issue of I do not think there is anything this package here can (or should) do. |
@emmenlau if that is true, why is it going away with the simple snippet above? :-) |
@glynos Its like the debug configuration is not exported properly. I am not a vcpkg expert, therefore unfortunately I have no idea what you would have to do differently. |
Without reading the snippet above I would assume that this would be a possible solution to the problem. But in my humble opinion its not the clean solution. Giving flags like On a related note, we build literally hundreds of packages with cmake (and even a few other build systems like Perl for OpenSSL) on many platforms, including MSVC with both the Visual Studio Compiler and the Clang compiler. On MSVC we use This works with |
@emmenlau The snippet just makes sure that it links to "skyr-urld.lib" and not "skyr-url.lib" for DEBUG builds. And it fixes the problem here. Maybe it is something that needs to be fixed in this library? ;-) |
@coreprocess Maybe I'm missing something but can you say why current url would not already link "skyr-urld.lib"? I see in my windows build: #> grep -Irn "urld" lib/cmake/skyr-url
lib/cmake/skyr-url/skyr-url-targets-debug.cmake:12: IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/skyr-urld.lib"
lib/cmake/skyr-url/skyr-url-targets-debug.cmake:16:list(APPEND _IMPORT_CHECK_FILES_FOR_skyr::skyr-url "${_IMPORT_PREFIX}/lib/skyr-urld.lib" ) Why do you think cmake would not link urld? At least in "plain" cmake this just works. |
@emmenlau Interesting, that |
@coreprocess Yes maybe there is really something fundamentally different in how vcpkg builds or uses cmake. Thanks for following this up! |
Thanks for following up! I'm not ignoring this thread, but I don't know yet how to apply a fix here, or if it's something to do with the configuration of vcpkg. I will take a look. |
fix cpp-netlib#59, close cpp-netlib#143
In Windows using CMake
F:\vcpkg>vcpkg version
skyr-url install by vcpkg
Vcpkg package management program version 2020.02.04-nohash
See LICENSE.txt for license information.
windows\debug\lib\libcrypto.lib F:\vcpkg\installed\x64-windows\debug\lib\fmtd.lib F:\vcpkg\installed\x64-windows\lib\skyr-url.lib F:\vcpkg\installed\x64-windows\debug\lib\gtestd.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:tests\CMakeFiles\tests.dir/intermediate.manifest tests\CMakeFiles\tests.dir/manifest.res" failed (exit code 1319) with the following output:
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(url_search_parameters.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(url_search_parameters.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(url.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(url.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(ipv4_address.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(ipv4_address.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(ipv6_address.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(ipv6_address.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(domain.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(domain.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(parse.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(parse.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(punycode.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(punycode.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(idna.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(idna.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(url_parser_context.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(url_parser_context.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(host.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\skyr-url.lib(host.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in GreyDawnNetworkTest.cpp.obj
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
G:\GreyDawnModule\GreyDawnNetwork\out\build\x64-Debug\bin\tests.exe : fatal error LNK1319: 20 mismatches detected
ninja: build stopped: subcommand failed.
Build All failed.
The text was updated successfully, but these errors were encountered: