-
Notifications
You must be signed in to change notification settings - Fork 161
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated library version selection to avoid ODR violations.
The previous strategy of force-inlining methods that are dependent on the library version is not effective with MSVC in debug mode, when linking the static library. The compiler does not inline methods despite the markup, and during linking the static library with the user's module the linker may or may not pick up user's definitions of these methods. When building the library, do not define path methods that depend on the library version. Instead, explicitly call v4 internal methods throughout the implementation. This way the compiled library does not contain v4 versions of these methods, and therefore does not conflict with user's definitions of these methods. Fixes #279.
- Loading branch information
Showing
11 changed files
with
1,008 additions
and
783 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// Copyright 2023 Andrey Semashev | ||
|
||
// Distributed under the Boost Software License, Version 1.0. | ||
// See http://www.boost.org/LICENSE_1_0.txt | ||
|
||
// See library home page at http://www.boost.org/libs/filesystem | ||
|
||
#if defined(_MSC_VER) | ||
// MSVC's link.exe does not support -Wl,... flags, but doesn't fail the linking. | ||
// The linker may be used by different compilers, not only MSVC. | ||
// Luckily, those compilers all pretend to be MSVC. | ||
#error "MSVC and compatible compilers don't support -Wl,... flags" | ||
#endif | ||
|
||
int main() | ||
{ | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.