在Windows上使用CMake构建Google glog(失败)

时间:2018-03-09 16:27:26

标签: c++ cmake mingw32 glog

我需要glog库(https://github.com/google/glog)用于C ++项目(Windows 10,Qt 5.10)并尝试使用CMake从源代码构建它。 CMake配置过程是成功的,gflags的路径也正确设置。

在用CMake配置glog之后,我尝试用MinGW编译它(在build文件夹中命令mingw32-make)。在64%之后,构建过程停止并出现错误:

[ 64%] Linking CXX executable utilities_unittest.exe
libglog.a(symbolize.cc.obj):symbolize.cc:(.text+0x15f): undefined reference to `_imp__SymFromAddr@20'
libglog.a(symbolize.cc.obj):symbolize.cc:(.text$_ZN6google14SymInitializerC1Ev[__ZN6google14SymInitializerC1Ev]+0x2f): undefined reference to `_imp__SymSetOptions@4' 
libglog.a(symbolize.cc.obj):symbolize.cc:(.text$_ZN6google14SymInitializerC1Ev[__ZN6google14SymInitializerC1Ev]+0x51): undefined reference to `_imp__SymInitialize@12' 
libglog.a(symbolize.cc.obj):symbolize.cc:(.text$_ZN6google14SymInitializerD1Ev[__ZN6google14SymInitializerD1Ev]+0x12): undefined reference to `_imp__SymCleanup@4' libglog.a(demangle.cc.obj):demangle.cc:(.text+0x9e): undefined reference to `_imp__UnDecorateSymbolName@16'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\utilities_unittest.dir\build.make:98: recipe for target 'utilities_unittest.exe' failed 
mingw32-make[2]: *** [utilities_unittest.exe] Error 1 
CMakeFiles\Makefile2:482: recipe for target 'CMakeFiles/utilities_unittest.dir/all' failed
mingw32-make[1]:
*** [CMakeFiles/utilities_unittest.dir/all] Error 2 
Makefile:159: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

你知道如何解决它吗?

我已经尝试启用了     CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS 选项,但这并没有解决问题。

感谢您的帮助!

0 个答案:

没有答案