While the google test library is being built as a shared library using Bazel,
so that there is a rule like
cc_test(
name = "iterator_traits_test",
linkstatic = 0,
deps = ["@gtest//:gtest_main"],
...
)
in a BUILD file, the following error appears on Windows:
INFO: Found 1 test target...
ERROR: C:/../external/gtest/BUILD.bazel:55:1: output 'external/gtest/gtest.if.lib' was not created
ERROR: C:/../external/gtest/BUILD.bazel:55:1: not all outputs were created or valid
Target //test:iterator_traits_test failed to build
The reason is a missing "win_def_file" attribute of the "gtest" and
"gtest_main" rules in the BUILD.bazel inside the google test library
package.
The "windows_export_all_symbols" feature is added to the rules, this
feature forces Bazel to export all symbols from the google test library
to linker. I believe exporting all symbols from a testing library makes
no problem for the application from a point of view on encapsulation.
Signed-off-by:
Pavel Samolysov <samolisov@gmail.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| ci | Loading commit data... | |
| googlemock | Loading commit data... | |
| googletest | Loading commit data... | |
| .clang-format | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .travis.yml | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CONTRIBUTING.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| README.md | Loading commit data... | |
| WORKSPACE | Loading commit data... | |
| appveyor.yml | Loading commit data... | |
| configure.ac | Loading commit data... | |
| library.json | Loading commit data... | |
| platformio.ini | Loading commit data... |