MXE - 使用cmake和mingw

时间:2017-06-05 10:33:20

标签: c++ cmake mingw qt5 mxe

我正在尝试使用linux上的electronpass-desktop为Windows编译MXE。我已经成功编译了所有依赖项(包括libelectronpass)。然后我执行了(来自electronpass-desktop/build):

  • /home/zigapk/Desktop/temp/mxe/usr/bin/i686-w64-mingw32.static-cmake -DCMAKE_PREFIX_PATH=/home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/i686-w64-mingw32.static-g++ .. - cmake发现库很好
  • make CROSS=i686-w64-mingw32.static- VERBOSE=1 - make编译所有项目文件,但链接时出现问题:

    ... [9%]链接CXX可执行文件../../bin/electronpass.exe cd / home / zigapk / Desktop / temp / electronpass-desktop / build / app&& / home / zigapk / Desktop / temp / mxe / usr / x86_64-unknown-linux-gnu / bin / cmake -E cmake_link_script CMakeFiles / electronpass.dir / link.txt --verbose = 1 / home / zigapk / Desktop / temp / mxe / usr / x86_64-unknown-linux-gnu / bin / cmake -E remove -f CMakeFiles / electronpass.dir / objects.a /home/zigapk/Desktop/temp/mxe/usr/bin/i686-w64-mingw32.static-ar cr CMakeFiles / electronpass.dir / objects.a @ CMakeFiles / electronpass.dir / objects1.rsp /home/zigapk/Desktop/temp/mxe/usr/bin/i686-w64-mingw32.static-g++ -std = c ++ 0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align - Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror = return-type -std = c ++ 11 -Wall -Wextra -Wold-style -cast -pedantic -O3 -DNDEBUG -mwindows -Wl, - 整个存档CMakeFiles / electronpass.dir / objects.a -Wl, - no-whole-archive -o ../../bin/electronpass.exe -Wl, - out-implib,.. / lib / libelectronpass.dll.a -Wl, - major-image-version,0, - minor-image-version,0 @ CMakeFiles / electronpass.dir / linklibs。 RSP /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Core.a(qregularexpression.o):qregularexpression.cpp:(.text+0x2b0):对'pcre2_match_16的未定义引用“ ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Core.a(qregularexpression.o):qregularexpression.cpp:(.text+0x335):对'pcre2_jit_stack_create_16的未定义引用“ ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Core.a(qglobal.o):qglobal.cpp:(.text+0x22a):未定义引用'_imp__WSACleanup @ 0' ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Core.a(qeventdispatcher_win.o):qeventdispatcher_win.cpp:(.text+0x1bce):对'_imp__timeSetEvent的未定义引用@ 20' ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Core.a(qcoreapplication_win.o):qcoreapplication_win.cpp:(.text+0x336):未定义引用'GetFileVersionInfoSizeW @ 8' ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x6a1):未定义的引用'SSL_load_error_strings “ ... ... ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Network.a(qnativesocketengine_win.o):qnativesocketengine_win.cpp:(.text+0x181d):未定义的引用'_imp__WSAGetLastError @ 0' ... ... ... /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Gui.a(qzip.o):qzip.cpp:(.text+0x27c3):未定义引用'deflateEnd “ /home/zigapk/Desktop/temp/mxe/usr/i686-w64-mingw32.static/qt5/lib/libQt5Gui.a(qzip.o):qzip.cpp:(.text+0x2870):对deflateEnd的未定义引用“ collect2:错误:ld返回1退出状态 make 2 * [app / CMakeFiles / electronpass.dir / build.make:623:../ bin / electrononpass.exe]错误1 make 2:离开目录'/ home / zigapk / Desktop / temp / electronpass-desktop / build' make 1:* [CMakeFiles / Makefile2:119:app / CMakeFiles / electronpass.dir / all]错误2 make 1:离开目录'/ home / zigapk / Desktop / temp / electronpass-desktop / build' make:*** [Makefile:139:all]错误2

链接到整个输出:https://pastebin.com/v3TiQGk2

如果有人能提供任何有用的信息,我真的很感激,因为过去两周我一直在撞墙。

提前谢谢

0 个答案:

没有答案