-
Notifications
You must be signed in to change notification settings - Fork 507
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
Shared Library Build Broken on Windows #318
Comments
The build breaks. But I got a different error: ninja: Entering directory `out/Debug_x64' |
At this point static_library builds are working in MSVS 2019. shared_library builds are still not working. Closes #867 (MSVS 2019) Issue #318 (progress toward shared_library support on Windows) Issue #336 (progress toward replacing Travis & Appveyor with GitHub Actions, which uses MSVS 2019) b/190743862 (internal; tracking replacement of Travis)
To make shared_library builds work on Windows with MSVS 2019, this commit: - Silences a useless warning about a private member in dll-exported Status class. - Exports the File class used by packager.exe - Removes the explicit File dependency in packager.exe in favor of libpackager, now that File is exported - Add missing defines in packager.exe and packager_test.exe that instruct the linker to import Status and File from the library Closes #318 (shared_library builds on Windows) Issue #336 (progress toward GitHub Actions workflow to replace Travis and Appveyor, where we need to build and test shared_library on all platforms) b/190743862 (internal; tracking replacement of Travis) Change-Id: I091f1655d88d36f353f7df497101eef17729eefe
Shared library builds worked, but failed tests because they were made with the wrong CRT linker settings. Strings allocated within the library could not be freed outside the library because the dynamic CRT was not used. This sets necessary gyp variables to link with a dynamic CRT on Windows, thereby fixing tests running in shared library mode that otherwise hung in a GitHub Actions environment. Related to #318 (shared_library builds on Windows) Issue #336 (progress toward GitHub Actions workflow to replace Travis and Appveyor, where we need to build and test shared_library on all platforms) b/190743862 (internal; tracking replacement of Travis) Change-Id: Iffefd27c2aa4ec479ce1d10b099483e417d2231f
In e2efb5d, I fixed shared_library builds on Windows, but I introduced another issue in which the libpackager_type variable was not correctly defined by default. This meant that the build only worked with this variable explicitly-defined in GYP_DEFINES when gclient sync was run. This fixes the default definition so that libpackager_type does not need to be defined explicity. Related to #318 (shared_library builds on Windows) Issue #336 (progress toward GitHub Actions workflow to replace Travis and Appveyor, where we need to build and test shared_library on all platforms) b/190743862 (internal; tracking replacement of Travis) Change-Id: If353e1d3c312ab0c568d4d4d2b789e922d7216e1
To make shared_library builds work on Windows with MSVS 2019, this commit: - Silences a useless warning about a private member in dll-exported Status class. - Exports the File class used by packager.exe - Removes the explicit File dependency in packager.exe in favor of libpackager, now that File is exported - Add missing defines in packager.exe and packager_test.exe that instruct the linker to import Status and File from the library Closes shaka-project#318 (shared_library builds on Windows) Issue shaka-project#336 (progress toward GitHub Actions workflow to replace Travis and Appveyor, where we need to build and test shared_library on all platforms) b/190743862 (internal; tracking replacement of Travis) Change-Id: I091f1655d88d36f353f7df497101eef17729eefe
To make shared_library builds work on Windows with MSVS 2019, this commit: - Silences a useless warning about a private member in dll-exported Status class. - Exports the File class used by packager.exe - Removes the explicit File dependency in packager.exe in favor of libpackager, now that File is exported - Add missing defines in packager.exe and packager_test.exe that instruct the linker to import Status and File from the library Closes shaka-project#318 (shared_library builds on Windows) Issue shaka-project#336 (progress toward GitHub Actions workflow to replace Travis and Appveyor, where we need to build and test shared_library on all platforms) b/190743862 (internal; tracking replacement of Travis) Change-Id: I091f1655d88d36f353f7df497101eef17729eefe
System info
Operating System: Windows 10 x64 1709
Shaka Packager Version: 435d69c
Issue and steps to reproduce the problem
What is the expected result?
libpackager should compile as a DLL successfully.
What happens instead?
Errors such as the following occur:
The text was updated successfully, but these errors were encountered: