I tried to use gtest installed through conan, but ended up with an undefined reference linker error. This question is a more or less a follow up to this stackoverflow questi
I ended up having to add self.options['gtest'].shared = True
in the project's conanfile.py
to get around this. Previously it was set to false for some windows-related reasons that became non-relevant.
Try changing to shared libraries for gtest/gmock if, like me, you saw that the default settings were already libstdc++11
so changing the conan install
args was not sufficient.
I found an answer to my question:
The problem is that conan does download/compile gtest binaries
by default with libstdc++
even if my compiler (gcc 6.3) uses
libstdc++11
by default. Thus there is a mismatch between libstdc++
and libstdc++11
.
To workaround this issue you have to explicit tell conan to compile with libstdc++11:
conan install .. --build missing -s compiler=gcc -s compiler.version=6.3 -s compiler.libcxx=libstdc++11